Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Number n = flag ? new Integer(1) : new Double(2.0);Integer n = flag1 ? 1 : flag2 ? 2 : null;int к null нет — проблем нет. (В шарпе нужно писать (int?)null, чтобы аналог скомпилировался.)private static final DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(new BigDecimal(1.1));BigDecimal нет, есть только BigInteger. Попробовал с обычным decimal — шарп не позволил скомпилировать аналогичный код, потому что неявного приведения от double к decimal не существует. И даже если явно привести, то эта шибко умная зараза каким-то образом умудряется правильно округлить.System.out.printf("%s\n", "str#1");printf, ни %n нет. Пишите Environment.NewLine, чтоб ему пусто было (ну или WriteLine вместо Write).public static String formatDate(String format, Date date) {
return new SimpleDateFormat(format).format(date);
}можно написать либоnew BigDecimal("1.1"), либоBigDecimal.valueOf(1.1).
valueOf(1.1) как-то специальным образом компилируется, что 1.1 оказывается не IEEE754?public static BigDecimal valueOf(double val) {
return new BigDecimal(Double.toString(val));
}То есть double сперва преобразуется в строку, используя обычный алгоритм, который работает с точностью double, а не с идеальной точностью. А потом уже вызывается конструктор от строки. Поэтому valueOf сработает не так как конструктор от double.1.1 в double при использовании valueOf(double) сохранится, поскольку double представляется в IEEE754?А конструктор BigDecimal(double) напротив работает точноА конструктор BigDecimal(string), напротив, работает точноТо есть ошибка в точности представления числа 1.1 в double при использовании valueOf(double) сохранится, поскольку double представляется в IEEE754?Не понял, что вы имели в виду. Произойдёт следующее:
А конструктор BigDecimal(double) напротив работает точно
static void m(int i) {}
static void m(Integer i) {}
m(s != null ? Integer.parseInt(s) : (Integer) null);
FindBugs помогает узнать Java лучше