Я работаю над проектом, который был разработан другими разработчиками. В этом проекте любой метод, который возвращает объект или объект, предназначен для возврата специального значения, называемого EMPTY_VALUE
.Возвращает пустую структуру данных (сущность) вместо нуля, хорошо ли это?
public Customer getCustomer() {
if (everythingFine) {
return realCustomer();
} else {
Customer.EMPTY_VALUE;
}
}
А класс Customer:
public class Customer {
public static final Customer EMPTY_VALUE = new Customer();
private String firstName;
private STring lastName;
public Customer() {
this.firstName = "";
this.lastName = "";
}
}
В других местах, которые используют метод GetCustomer():
Customer customer = getCustomer();
if (customer != Customer.EMPTY_VALUE) {
doSomething(customer);
}
ли выше способ имеет какие-либо преимущества по сравнению с null
-Проверки? Покупает ли он что-нибудь?
Customer customer = getCustomer();
if (customer != null) {
doSomething(customer);
}
спасибо за ссылку 'Факультативный'. Это отличная идея. – Genzer