«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.

6
Milisaniye cinsinden uzun bir dönemden nasıl Java 8 LocalDate oluşturabilirim?
longEpoch başlangıcından bu yana milisaniye olarak temsil edilen tarihleri s olarak döndüren harici bir API var . Eski stil Java API ile, basitçe Dateondan bir Date myDate = new Date(startDateLong) Java 8'in LocalDate/ LocalDateTimesınıflarının eşdeğeri nedir ? Geçerli yerel saat diliminde longbir ile temsil edilen noktayı dönüştürmekle ilgileniyorum LocalDate.

5
Java 8 akışının .min () ve .max (): bu neden derleniyor?
Not: Bu soru, önceki bir SO sorusu olan ölü bir bağlantıdan kaynaklanmaktadır, ancak işte gidiyor ... Bu kodu ( not: Bu kod "işe yaramaz" ve bu Integer::comparekullanılması gerektiğini biliyorum - ben sadece bağlı sorudan ayıklayın ): final ArrayList <Integer> list = IntStream.rangeClosed(1, 20).boxed().collect(Collectors.toList()); System.out.println(list.stream().max(Integer::max).get()); System.out.println(list.stream().min(Integer::min).get()); Bir javadoc göre .min()ve .max()her …
215 java  java-8  java-stream 

10
Neden Objects.requireNonNull () kullanılmalı?
Oracle JDK'da verilen nesne (argüman) ise Objects.requireNonNull()dahili olarak atılan birçok Java 8 yönteminin kullanıldığını belirttim .NullPointerExceptionnull public static <T> T requireNonNull(T obj) { if (obj == null) throw new NullPointerException(); return obj; } Ancak NullPointerExceptionbir nullnesne kayıttan çıkarılırsa yine de atılır . Öyleyse, neden bu ekstra null kontrol ve atışı …

2
Java 8 arayüz yöntemlerinde “senkronize edilmesine” izin verilmemesinin nedeni nedir?
Java 8'de kolayca yazabilirim: interface Interface1 { default void method1() { synchronized (this) { // Something } } static void method2() { synchronized (Interface1.class) { // Something } } } Sınıflarda da kullanabileceğim tam senkronizasyon anlambilimini alacağım. Ancak, synchronizeddeğiştirici yöntem bildirimlerinde kullanamıyorum : interface Interface2 { default synchronized void method1() …

9
Java8: Stream / Map-Reduce / Collector kullanarak HashMap <X, Y> ile HashMap <X, Z>
Basit bir Java "dönüşümü" bilen Listden Y-&gt; Zyani: List&lt;String&gt; x; List&lt;Integer&gt; y = x.stream() .map(s -&gt; Integer.parseInt(s)) .collect(Collectors.toList()); Şimdi temelde bir Harita ile aynı şeyi yapmak istiyorum, yani: INPUT: { "key1" -&gt; "41", // "41" and "42" "key2" -&gt; "42 // are Strings } OUTPUT: { "key1" -&gt; 41, // …

13
Bir nesne listesini toString () yönteminden elde edilen bir dizeye dönüştürmek için Java 8'i kullanma
Java 8'de birçok yararlı yeni şey var. Örneğin, bir nesne listesi üzerinden bir akışla yineleyebilir ve daha sonra Object'örneklerinin belirli bir alanındaki değerleri toplayabilirim . Örneğin public class AClass { private int value; public int getValue() { return value; } } Integer sum = list.stream().mapToInt(AClass::getValue).sum(); Bu nedenle, tek bir satırdaki …

8
`Optional.orElse ()` ve `Optional.orElseGet ()` arasındaki fark
Ben arasındaki farkı anlamaya çalışıyorum Optional&lt;T&gt;.orElse()veOptional&lt;T&gt;.orElseGet() yöntemleri . orElse()Yöntemin açıklaması "Varsa değeri döndür, aksi takdirde diğerini döndür" dür. Bununla birlikte, orElseGet()yöntemin açıklaması "Varsa değeri döndür, aksi takdirde diğerini çağır ve bu çağrının sonucunu döndür." orElseGet()Yöntem esasen herhangi bir parametre ve döner almaz bir alanı işlevsel bir arayüz alır T. Hangi …
206 java  java-8  optional 

23
Java “bu dil düzeyinde lambda ifadeleri desteklenmiyor”
Java 8'in bazı yeni özelliklerini test ediyordum ve örneği burada gösterildiği gibi IDE'ye (ilk başta Eclipse, ardından IntelliJ) kopyaladım Eclipse lambda ifadeleri için hiçbir destek sunmadı ve IntelliJ bir hata bildirmeye devam etti Bu dil düzeyinde desteklenmeyen Lambda ifadeleri Bu yükleme, kod veya destek ile ilgili bir sorun olup olmadığını …


4
Java 8 Akışı ve dizilerde çalışma
Yeni Java 8 akış yeteneklerini yeni keşfettim. Python'dan geldiğimde, iki diziyi "tek satırlı bir pitonik" şekilde çarparak, toplama gibi diziler üzerinde işlemler yapmanın düzgün bir yolu olup olmadığını merak ediyordum. Teşekkürler

2
CompletableFuture, Future ve RxJava'nın Gözlemlenebilir Farkı
Ben arasındaki farkı bilmek istiyorum CompletableFuture, Futureve Observable RxJava. Bildiğim tek şey eşzamansız ama Future.get() ipliği engeller CompletableFuture geri arama yöntemlerini verir RxJava Observable--- CompletableFuturediğer faydalara benzer (emin değilim) Örneğin: istemcinin birden çok servis çağrısı yapması gerekiyorsa ve Futures(Java) kullandığımızda Future.get()sıralı olarak yürütülürse ... RxJava'da nasıl daha iyi olduğunu bilmek …


9
Java 8 lambda Void argümanı
Diyelim ki Java 8'de aşağıdaki işlevsel arayüze sahibim: interface Action&lt;T, U&gt; { U execute(T t); } Ve bazı durumlarda argüman veya dönüş türü olmayan bir eyleme ihtiyacım var. Yani böyle bir şey yazıyorum: Action&lt;Void, Void&gt; a = () -&gt; { System.out.println("Do nothing!"); }; Ancak, bana derleme hatası veriyor, bunu şöyle …
188 java  lambda  java-8  void 

19
Bir akışı yüklemle sınırlama
(Potansiyel olarak sonsuz) sınırlayan bir Java 8 akışı işlemi var mı Streamİlk öğe bir yüklemle eşleşene kadar mı? Java 9'da takeWhile10'dan küçük tüm sayıları yazdırmak için aşağıdaki örnekte olduğu gibi kullanabiliriz . IntStream .iterate(1, n -&gt; n + 1) .takeWhile(n -&gt; n &lt; 10) .forEach(System.out::println); Java 8'de böyle bir işlem …
187 java  java-8  java-stream 

9
Java SE 8'de Çiftler veya Tuples var mı?
Java SE 8'de tembel fonksiyonel işlemler ile oynuyorum ve bir çift / tuple için mapbir indeks istiyorumi(i, value[i]) , sonra filterikinci value[i]elemente dayanıyorum ve nihayet sadece endeksler çıktı istiyorum. Hala acı çekmeliyim: Java C + + Pair &lt;L, R&gt; eşdeğeri nedir?lambdas ve akarsuların cesur yeni döneminde? Güncelleme: Aşağıdaki cevaplardan birinde …

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.