2

我正在使用带有依赖项的 lambdaj 2.4。我的代码(非常简单):

 List<Person> persons = Arrays.asList(
                    new Person(13,"Steve",22,"London, UK"),
                    new Person(25,"Greg",28,"New York, USA"),
                    new Person(5,"Emily",22,"Bali, Indonesia"),
                    new Person(9,"Malih",14,"Jakarta, Indonesia"));

            List<String> personNames = extract(persons, on(Person.class).getName());
            System.out.println("personNames: "+personNames);

但它不起作用,例外是:

 java.lang.ExceptionInInitializerError
            at ch.lambdaj.proxy.ProxyUtil.createEnhancer(ProxyUtil.java:89)
            at ch.lambdaj.proxy.ProxyUtil.createProxy(ProxyUtil.java:49)
            at ch.lambdaj.function.argument.ArgumentsFactory.createPlaceholder(ArgumentsFactory.java:68)

任何想法如何使它在Android上运行?

4

1 回答 1

2

如果您有选择,您应该考虑使用 Retro Lambda。它是 JDK 6 和 7 的完整 Java 8 Lambda 表达式语法的向后移植——并提供了完整的、真正的闭包(在没有语言级别支持的情况下,LambdaJ 是一个不错的选择)。

于 2015-09-21T10:40:44.983 回答