Java: существует ли разница между L и l (нижний регистр L) при указании длинного?
Когда я указываю, что число должно быть long
с постоянным значением 400
, существует ли разница между использованием 400L
и 400l
?
Имеет ли отношение к типу обертки? Является ли L
используется для получения обертки Long
и l
для примитивного типа данных long
?
Ответы
Ответ 1
Никакой практической разницы. Либо L
либо l
могут использоваться, оба указывают на long
примитив. Кроме того, любой из них может быть автобоксирован к соответствующему типу Long
wrapper.
Однако стоит отметить, что JLS-3.10.1 - Integer Literals (частично) говорит,
Целочисленный литерал имеет тип long
если он суффикс с буквой ASCII L
или l
(ell); в противном случае это тип int
(п. 4.2.1).
Суффикс L
является предпочтительным, поскольку букву l
(ell) часто трудно отличить от цифры 1
(одна).
Ответ 2
Да: это читаемость.
Легко ошибиться в 400l
за четыре тысячи и один, когда вы сначала взглянете на него.
Я считаю, что он более правильно интерпретирует его так, как четыреста длинный с верхним регистром L.