Java内部类/闭包

| 所以我有以下几点:
Object a = data.getA();
Object b = data.getB();
Object c = data.getC();
// and so on
这些对象是从API调用中检索的,可以为null。我想将这些对象放入列表,但前提是它们不为null。 我可以写几行:
if(a!=null) {myList.add(a}
,依此类推。但是我感觉有一种更优雅的方法,可以避免每次都必须执行null检查(除了创建辅助方法来执行此操作)。 例如,使用javascript,我可以创建一个闭包。对Java有任何想法吗?     
已邀请:
您可以在Google Code中尝试Project LambdaJ,在Java闭包中使用它已经非常成熟 根据条件进行过滤: 在给定条件下过滤集合的项是一项非常常见的任务,使用lambdaj可以像以下示例中一样容易:
List<Integer> biggerThan3 = filter(greaterThan(3), asList(1, 2, 3, 4, 5));
定义如何过滤列表的条件表示为hamcrest匹配器。 或者您可以等待JDK 8 :-)     
实用方法呢?
public static <T> void addIfNotNull(Collection<T> col, T element){
    if(element != null){
        col.add(element);
    }
}
    
List list = new ArrayList();

add(data.getA());
add(data.getB());
add(data.getC());

private add(Object o) {
    if (o != null) {
        list.add(o);
    }
}
    
您可以使用Maybe概念:http://www.natpryce.com/articles/000776.html     

要回复问题请先登录注册