【发布时间】:2011-08-27 10:54:05
【问题描述】:
我很想写这个:
Lists.transform(vals,
new Function<>() {
public List<ValEntry> apply(Validator<? super T> input) {
return input.validate(value);
}
});
...比这个:
Lists.transform(vals,
new Function<Validator<? super T>, List<ValEntry>>() {
public List<ValEntry> apply(Validator<? super T> input) {
return input.validate( value );
}
});
但是 Java 编译器给了我以下错误信息:
'<>' cannot be used with anonymous classes
这有根本原因吗?还是只是跳过了 JDK 7 中的功能,也许他们在 8 中做到了?
【问题讨论】:
-
不要与 Java 争吵,不如与 Scala 共舞......
-
生活中的某些时候,除了战斗,你别无选择。
-
我不记得 Java 被设计成函数式语言
-
A proposal to implement diamond anonymous types 现在是 Project Coin 的一部分。但自从引入 lambda 表达式以来,现在对我来说似乎有点没有意义。