私は他の開発者によって開発されたプロジェクトに取り組んできました。このプロジェクトでは、エンティティまたはオブジェクトを返すメソッドは、と呼ばれる特別な値を返すように設計されています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);
}