标签:java 零长度的数组或者集合
/**
* 返回零长度的数组或者集合,而不是null
*
* @author 刘向峰
*
*/
public class Shop {
private List<Object> objectList;
// 零长度数组常量被传递给toArray方法,以指明所期望的返回类型
private final static Object[] EMPTY_OBJECT_ARRAY = new Object[0];
public Shop(List<Object> objectList) {
super();
this.objectList = objectList;
}
/**
*
* @return an array containing all of the object in the shop
*/
public Object[] getObjects() {
// 如果集合是空的,他将使用零长度的输入数组-->否则,这种做法永远不会分配零长度的数组
return objectList.toArray(EMPTY_OBJECT_ARRAY);
}
/**
*
* @return a copy of collection
*/
public List<Object> getStringList() {
if (objectList.isEmpty()) {
return Collections.emptyList();
} else {
return new ArrayList<Object>(objectList);
}
}
/**
* 测试方法
*
* @param args
*/
public static void main(String[] args) {
List<Object> newObjectList = Collections.emptyList();
// newObjectList = new ArrayList<Object>();
Object object = new Object();
// newObjectList.add(object);
Shop shop = new Shop(newObjectList);
// 不需要判断shop.getObjects()的值是否为空
if (Arrays.asList(shop.getObjects()).contains(object)) {
System.out.println("jolly good, just the thing");
}
}
}
返回零长度的数组或者集合,而不是null——Effective Java 读书笔记
标签:java 零长度的数组或者集合
原文地址:http://blog.csdn.net/lxf_44944/article/details/43816055