Bu örneğin ve sorunun amacı, dizeleri bir int akışıyla nasıl eşleştireceğinizi bulmaksa (örneğin, bir dizi dizisindeki bir dizine erişmek için bir giriş akışı kullanarak), kutuyu da kullanabilir ve ardından int (daha sonra dizinin dizinine erişime izin verir).
int[] numbers = {0, 1, 2, 3};
String commaSeparatedNumbers = Arrays.stream(numbers)
.boxed()
.map((Integer i) -> Integer.toString((int)i))
.collect(Collectors.joining(", "));
.Boxed () çağrısı, IntStream'inizi (ilkel girişlerin bir akışını) bir Akışa (nesnelerin bir akışına - yani, Tamsayı nesnelerine) dönüştürür ve bu daha sonra bir nesnenin (bu durumda, bir String nesnesi) dönüşünü kabul eder. lambda'nız. Burada, gösterme amacıyla sayının yalnızca bir dize temsilidir, ancak daha önce bahsedildiği gibi bir dizgi dizisinin öğesi gibi, herhangi bir dize nesnesi de kolayca (ve daha pratik olarak) olabilir.
Başka bir olasılık sunacağımı düşündüm. Programlamada, bir görevi gerçekleştirmenin her zaman birden fazla yolu vardır. Yapabildiğiniz kadar çok şey öğrenin, ardından performans sorunlarını, sezgiselliği, kodun netliğini, kodlama stilindeki tercihlerinizi ve en çok kendi kendini belgelendirmeyi göz önünde bulundurarak elinizdeki göreve en uygun olanı seçin.
Mutlu kodlamalar!
IntStream
veStream<Integer>
?