«java-8» etiketlenmiş sorular

Java platformunun 18 Mart 2014'te yayınlanan sürüm 8'i (iç sayı 1.8) olan Java 8'e özgü sorular için bu etiketi kullanın. Çoğu durumda, java etiketini de belirtmeniz gerekir.

4
Java 8'de bir Akış yayınlamak mümkün mü?
Java 8'de akış yayınlamak mümkün mü? Diyelim bir nesne listesi var, tüm ek nesneleri filtrelemek için böyle bir şey yapabilirim: Stream.of(objects).filter(c -> c instanceof Client) Bundan sonra, eğer müşterilerle bir şey yapmak istersem, her birini atmam gerekir: Stream.of(objects).filter(c -> c instanceof Client) .map(c -> ((Client) c).getID()).forEach(System.out::println); Bu biraz çirkin gözüküyor. …
160 java  java-8  java-stream 

6
Java lambda'nın 1'den fazla parametresi olabilir mi?
Java'da, lambda'nın birden fazla farklı türü kabul etmesi mümkün müdür? Yani: Tek değişkenli işler: Function <Integer, Integer> adder = i -> i + 1; System.out.println (adder.apply (10)); Varargs ayrıca çalışır: Function <Integer [], Integer> multiAdder = ints -> { int sum = 0; for (Integer i : ints) { sum …
158 java  lambda  java-8 

5
Bir lambda nasıl serileştirilir?
Bir lambda'yı nasıl zarif bir şekilde serileştirebilirim? Örneğin, aşağıdaki kod a atar NotSerializableException. SerializableRunnable"Sahte" bir arayüz oluşturmadan nasıl düzeltebilirim ? public static void main(String[] args) throws Exception { File file = Files.createTempFile("lambda", "ser").toFile(); try (ObjectOutput oo = new ObjectOutputStream(new FileOutputStream(file))) { Runnable r = () -> System.out.println("Can I be serialized?"); …



10
Java 8'de kullanılan işlevsel arabirimler nelerdir?
Java 8'de yeni bir terimle karşılaştım: "işlevsel arayüz". Lambda ifadeleriyle çalışırken sadece bir kullanım alanı bulabildim . Java 8 bazı yerleşik işlevsel arabirimler sağlar ve herhangi bir işlevsel arabirimi tanımlamak istiyorsak, @FunctionalInterfaceek açıklamadan yararlanabiliriz. Arayüzde sadece tek bir yöntem bildirmemize izin verecektir. Örneğin: @FunctionalInterface interface MathOperation { int operation(int a, …
154 java  lambda  interface  java-8 

26
Java 8 akış ters sırası
Genel soru: Bir akışı tersine çevirmenin doğru yolu nedir? Akışın ne tür unsurlardan oluştuğunu bilmediğimizi varsayarsak, herhangi bir akışı tersine çevirmenin genel yolu nedir? Özel soru: IntStreambelirli bir aralıkta Tamsayılar oluşturmak için aralık yöntemi sağlar IntStream.range(-range, 0), şimdi 0'dan negatife geçiş aralığını tersine çevirmek istiyorum, ayrıca kullanamıyorumInteger::compare List<Integer> list = …

2
Java8 akışlarında işlem sırası nasıl sağlanır?
Listeleri bir XMLjava nesnesi içinde işlemek istiyorum . Tüm öğelerin elime ulaşması için işlendiğinden emin olmalıyım. Bu nedenle sequential, streamkullandığım her birini aramalı mıyım ? list.stream().sequential().filter().forEach() Ya da paralelliği kullanmadığım sürece akışı kullanmak yeterli mi? list.stream().filter().forEach()
153 java  java-8  java-stream 

9
LocalDateTime ayrıştırılırken TemporalAccessor'dan LocalDateTime alınamıyor (Java 8)
Sadece Java 8 DateTime nesnesine bir tarih dizesi dönüştürmek çalışıyorum. Aşağıdaki satırları çalıştırdıktan sonra: DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); LocalDateTime dt = LocalDateTime.parse("20140218", formatter); Aşağıdaki hatayı alıyorum: Exception in thread "main" java.time.format.DateTimeParseException: Text '20140218' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 2014-02-18 of type java.time.format.Parsed …

14
Lambda ile JDK8 kullanarak akışları sıkıştırma (java.util.stream.Streams.zip)
Lambda b93 ile JDK 8'de, b93'te akışları sıkıştırmak için kullanılabilecek bir java.util.stream.Streams.zip sınıfı vardı (bu, Java8 Lambdas'ı Keşfetme dersinde gösterilmiştir. Dhananjay Nene tarafından Bölüm 1 ). Bu işlev: Öğeleri iki akışın öğelerini birleştirmenin sonucu olan tembel ve sıralı bir birleşik Akış oluşturur. Ancak b98'de bu ortadan kayboldu. Infact, b98'de java.util.stream'deStreams …

10
Bir akışı iki akıma bölebilir misiniz?
Bir Java 8 akışı ile temsil edilen bir veri kümesi var: Stream<T> stream = ...; Rastgele bir altküme almak için nasıl filtreleneceğini görebilirim - örneğin Random r = new Random(); PrimitiveIterator.OfInt coin = r.ints(0, 2).iterator(); Stream<T> heads = stream.filter((x) -> (coin.nextInt() == 0)); Ayrıca, veri kümesinin iki rasgele yarısını temsil …
146 java  java-8  java-stream 


4
Java 8'de Ayırıcı, Toplayıcı ve Akışı Anlama
StreamJava 8'deki arayüzü anlamakta zorlanıyorum , özellikle Spliteratorve Collectorarayüzleri ile ilgili olduğu yerde . Benim sorunum sadece anlayamıyorum Spliteratorve Collectorarayüzler ve sonuç olarak, Streamarayüz hala biraz karanlık. A Spliteratorve a tam olarak nedir Collectorve bunları nasıl kullanabilirim? Eğer kendim Spliteratorveya Collector(ve muhtemelen Streambu süreçte kendiminkini) yazmaya istekliysem ne yapmam ve …

4
Java8'de void (Void değil) yöntemleri için işlev türleri nasıl belirtilir?
Birinci sınıf vatandaş olarak nasıl işlev gördüğünü öğrenmek için Java 8 ile oynuyorum. Şu snippet'e sahibim: package test; import java.util.*; import java.util.function.*; public class Test { public static void myForEach(List<Integer> list, Function<Integer, Void> myFunction) { list.forEach(functionToBlock(myFunction)); } public static void displayInt(Integer i) { System.out.println(i); } public static void main(String[] args) …
143 java  java-8 

7
Java 8 Akışları - Toplama ve Azaltma
collect()Vs ne zaman kullanılır reduce()? Bir şekilde ya da bu şekilde gitmenin kesinlikle daha iyi olduğu zaman iyi, somut örnekleri var mı? Javadoc, () toplanmasının değiştirilebilir bir azalma olduğunu belirtir . Değişken bir azalma olduğu göz önüne alındığında, bunun, performans için zararlı olabilecek senkronizasyon (dahili olarak) gerektirdiğini varsayıyorum. Büyük olasılıkla …
143 java  java-8  java-stream 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.