Asdfasf

Thursday, September 18, 2014

EJ-43 Return Empty Arrays or Collections, Not Nulls

Ref: Effective Java by Joshua Bloch

Commonly, there is no reason to return null from an array or collection returned method which would require extra null check instead of returning empty array or collections. 

public Cheese[] getCheeses(){
if (chesesInStock.size() == 0){
return null;
}
}
//REQUIRES EXTRA NULL CHECK
public void test(){
Cheese[] cheeses = shop.getCheeses();
if (cheeses != null &&
Arrays.asList(shop.getCheeses()).contains(Cheese.STILTON))
System.out.println("Jolly good, just the thing.");
}
view raw NullReturn.java hosted with ❤ by GitHub


private final static Cheese[] NULL_CHEESE_ARRAY = new Cheese[0];
public Cheese[] getCheeses(){
if (chesesInStock.size() == 0){
return NULL_CHEESE_ARRAY;
}
}
//NO NEED NULL CHECK
public void test(){
Cheese[] cheeses = shop.getCheeses();
if (Arrays.asList(shop.getCheeses()).contains(Cheese.STILTON))
System.out.println("Jolly good, just the thing.");
}

No comments: