2
我正在NetBeans IDE上使用Java。在netbeans代碼轉換的幫助下,我發現了下面的代碼,它使用不同的方法顯示相同的東西。 以下是代碼,這裏是一個ArrayList。Java Netbeans代碼轉換
//code 1
for(int j=0;j<a.size();j++)
{
System.out.println(a.get(j));
}
//code 2
for (Integer a1 : a) {
System.out.println(a1);
}
//code 3
a.stream().forEach((a1) -> {
System.out.println(a1);
});
//code 4
a.stream().forEach(new Consumer<Integer>() {
@Override
public void accept(Integer x1) {
System.out.println(x1);
}
});
對於最後的代碼,導入了'java.util.function.Consumer'。 我想知道這些方法之間是否存在顯着差異,如果是,那麼它們是什麼?
這是相當有用的,不過,我需要他們的工作對理解代碼之間的差異更多的細節。 – 2015-03-13 18:30:49
@Piyush你應該閱讀關於lambda表達式,Streams和方法引用來理解第三和第四個例子,以及我的代碼片段。我不認爲前兩個需要任何解釋,因爲這是基本的Java代碼 – Eran 2015-03-13 18:33:26
其他然後縮短長度,此方法是否對代碼有另一個影響?比如讓代碼更快或者什麼? – 2015-03-13 18:41:37