Jawa / Говнокод #11924 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
List<String> list;
....
Long num = Long.parseLong( "" + list.size() );

Самый оригинальный способ конвертации int в Long, кот. встречал в проекте )

Запостил: SIDS SIDS, (Updated )

Комментарии (21) RSS

    • Вообще нет, можно
      Long num = (long) list.size();
      Но видимо писавший это человек не знал о преобразовании типов
      Ответить
      • т.е. в long не умещаются значения int и требуется явное преобразование?
        Ответить
        • Нет, Вы немного не поняли.
          Компилятор сожрет следующее:
          int i = 1;
          long l = i;
          Но не сожрет:
          int i = 1;
          Long l = i;
          Потому что int переменная автоматически оборачивается в объект Integer, написав Long l = i, вы пытаетесь приравнять Long и Integer
          Ответить
          • Вот оно чо. Объектная обёрточка. А
            Long l = 1;
            сожрет? Или тоже надо:
            Long l = (long)1;
            ?
            Ответить
            • нет, не сожрет ) надо явное преобразование делать (long). потому что по умолчанию обертка для констант - Integer
              Можно написать
              Long l = 1L;
              Ответить
    • а где тут null-safe?
      если list - null, то list.size() вызовет нульпоинтер эксепшн )
      Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8