我有以下代码:
package test;
import java.util.stream.IntStream;
public class A {
public static void main(String[] args) {
IntStream.range(0, 10).mapToObj(n -> new Object() {
int i = n;
}).mapToInt(o -> o.i).forEachOrdered(System.out::println);
}
}
使用javac 1.8.0_101编译时,此代码可以正常工作,并按预期产生数字0到9。
但是当我在eclipse中使用此代码时,它在o.i以下位置告诉我:
i cannot be resolved or is not a field
并在执行此操作时产生错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
i cannot be resolved or is not a field
at test.A.main(A.java:9)
为什么需要使用javac来编译此代码?
而我该如何使日食表现得更好呢?
MM们
相关分类