задний план
В обычной работе люди часто используют логические и логические типы данных, первый из которых является базовым типом данных, а второй является классом-оболочкой, почему не рекомендуется использовать isXXX для именования? Лучше использовать базовые типы данных или классы-оболочки?
пример
1. Другие нелогические типы
private String isHot;
public String getIsHot() {
return isHot;
}
2. логический тип
private boolean isHot;
public boolean isHot() {
return isHot;
}
3. Тип упаковки
private Boolean isHot;
public Boolean getHot() {
return isHot;
}
4. Не начинайте с is
private boolean hot;
public boolean isHot() {
return hot;
}
5. Тип упаковки
private Boolean hot;
public Boolean getHot() {
return hot;
}
Фактически, в руководстве по разработке Java, выпущенном Alibaba, указано, что обязательно, чтобы данные логического типа, будь то логические или логические, не могли использовать isXXX для их имени.
- Для небулевых параметров соглашение об именах методов получения и установки начинается с get и set.
- Для параметров логического типа метод установки начинается с set, но спецификация для именования метода получения начинается с
- Имена методов получения и установки, автоматически генерируемых классом-оболочкой, — getXXX() и setXXX().
1. На самом деле для них в спецификации javaBeans есть соответствующие регламенты, для свойств базовых типов данных методы getXXX() и setXXX, а для данных типа Boolean в базовых данных есть — это еще один набор правил, его геттер и методы установки — это isXXX() и setXXX. Но все типы обертки начинаются с get
2. Этот метод может нормально работать в некоторых случаях, но в некоторых инфраструктурах rpc, когда обратный синтаксический анализ считывает метод isSuccess(), инфраструктура rpc «думает», что соответствующее значение атрибута является успешным. Фактически, соответствующее значение атрибута равно isSuccess, поэтому значение атрибута не может быть получено, что вызывает исключение.
Суммировать
1. Не рекомендуется устанавливать значение атрибута логического типа для начала с is, иначе это вызовет исключение сериализации фреймворка rpc.
2. Если автоматически сгенерированный IDE метод isSuccess() принудительно изменить на getSuccess(), можно также получить значение атрибута Success.Если они сосуществуют, то значение атрибута Success можно получить с помощью метода getSuccess () метод.
Лучше использовать базовые типы данных на работе или классы-оболочки?
Возьмем пример, система, которая рассчитывает прибыль, и ее коэффициент прибыли положительный или отрицательный.Если для определения данных используется базовый тип bouble, при вызове RPC, если есть проблема, он должен вернуть ошибку, но из-за к использованию базового Типа, возвращает 0.0, система будет думать, что проблемы нет, безубыточность даже в этом году, и не обнаружит, что на самом деле есть ошибка.
Если используется тип данных-оболочки Double, при сбое вызова RPC будет возвращено значение null, так что проблему можно будет увидеть напрямую, и решение не будет зависеть от проблемы значения по умолчанию.
На самом деле, в руководстве Ali Java Development Manual также есть обязательные положения для этого:Поэтому рекомендуется использовать типы данных-оболочек в POJO и базовые типы данных для локальных переменных.
Источник: blog.csdn.net/belongtocode/article/details/100635246.