Java 8'in yeni sözdizimsel şekerini kullanarak bir koleksiyonu yinelediğimde,
myStream.forEach(item -> {
// do something useful
});
Bu, aşağıdaki 'eski sözdizimi' snippet'ine eşdeğer değil mi?
myStream.forEach(new Consumer<Item>() {
@Override
public void accept(Item item) {
// do something useful
}
});
Bu Consumer
, bir koleksiyon üzerinde her yineleme yaptığımda öbek üzerinde yeni bir anonim nesne oluşturulduğu anlamına mı geliyor ? Bu ne kadar yığın alan kaplar? Performans üzerindeki etkileri nelerdir? Bu, büyük çok düzeyli veri yapıları üzerinde yineleme yaparken eski stili döngüler için kullanmayı tercih etmem anlamına mı geliyor?