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

3
forEach vs forEachOrdered Java 8 Stream
Bu yöntemlerin yürütme sırasından farklı olduğunu anlıyorum, ancak tüm testlerimde farklı emir yürütmeyi başaramıyorum. Misal: System.out.println("forEach Demo"); Stream.of("AAA","BBB","CCC").forEach(s->System.out.println("Output:"+s)); System.out.println("forEachOrdered Demo"); Stream.of("AAA","BBB","CCC").forEachOrdered(s->System.out.println("Output:"+s)); Çıktı: forEach Demo Output:AAA Output:BBB Output:CCC forEachOrdered Demo Output:AAA Output:BBB Output:CCC Lütfen 2 yöntemin farklı çıktılar üreteceği örnekler veriniz.

7
Java 8 Streams FlatMap yöntemi örneği
Ben yaklaşan kontrol edilmiştir Java updateyani: Java 8 or JDK 8. Evet, sabırsızım, birçok yeni şey var ama anlamadığım bir şey var, basit bir kod: final Stream<Integer>stream = Stream.of(1,2,3,4,5,6,7,8,9,10); stream.flatMap(); javadoc'lar public <R> Stream<R> flatMap(Function<? super T,? extends Stream<? extends R>> mapper) Bu akışın her bir öğesinin, sağlanan eşleme işlevinin …

3
Statik başlatıcıda lambda ile paralel akış neden kilitlenmeye neden oluyor?
Statik başlatıcıda bir lambda ile paralel akış kullanmanın, CPU kullanımı olmadan görünüşte sonsuza kadar sürdüğü garip bir durumla karşılaştım. İşte kod: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -> i).count(); System.out.println("done"); } public static void main(final String[] args) {} } Bu, bu davranış için minimum yeniden üretim testi senaryosu gibi …


4
Bu Java 8 lambda neden derlenemiyor?
Aşağıdaki Java kodu derlenemiyor: @FunctionalInterface private interface BiConsumer<A, B> { void accept(A a, B b); } private static void takeBiConsumer(BiConsumer<String, String> bc) { } public static void main(String[] args) { takeBiConsumer((String s1, String s2) -> new String("hi")); // OK takeBiConsumer((String s1, String s2) -> "hi"); // Error } Derleyici şunları …

3
Java 8'de istisna türü çıkarımın kendine özgü bir özelliği
Bu sitede başka bir cevap için kod yazarken şu tuhaflıkla karşılaştım: static void testSneaky() { final Exception e = new Exception(); sneakyThrow(e); //no problems here nonSneakyThrow(e); //ERRROR: Unhandled exception: java.lang.Exception } @SuppressWarnings("unchecked") static <T extends Throwable> void sneakyThrow(Throwable t) throws T { throw (T) t; } static <T extends Throwable> …

6
Java 8 Lambda İfadeleri - yuvalanmış sınıftaki birden çok yöntem ne olacak?
Yeni özellikleri şu adreste okuyorum: http://www.javaworld.com/article/2078836/java-se/love-and-hate-for-java-8.html Aşağıdaki örneği gördüm: Anonim Sınıf Kullanımı: button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { System.out.println("Action Detected"); } }); Lambda ile: button.addActionListener(e -> { System.out.println("Action Detected"); }); MouseListenerAnonim sınıf içinde birden fazla yöntem uygulamak isteyen biri a ile ne yapardı , örneğin: public void mousePressed(MouseEvent …

9
JDK8 - Maven javadoc eklentisini kullanarak javadoc oluşturmaya çalışırken "javax.interceptor.InterceptorBinding için sınıf dosyası bulunamadı" hatası
JDK8 kullanıyorum (Eclipse çalışma alanımda Jenkins tarafından başlatılan Linux'ta Win x64 u25 JDK + ile denedim - jdk-8u20-linux-x64, her ikisi için de aynı sorun). Çok modüllü Maven projem var ("pom" ambalaj türüne sahip bir ana modülden "javadoc: aggregate" Maven hedefini başlatıyorum). Pom yapı bölümü şuna benzer: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> …

4
Bir akışta Collections.toMap () kullanırken Listenin yineleme sırasını nasıl koruyabilirim?
Ben oluşturma Mapbir gelen Listaşağıdaki gibi: List<String> strings = Arrays.asList("a", "bb", "ccc"); Map<String, Integer> map = strings.stream() .collect(Collectors.toMap(Function.identity(), String::length)); İle aynı yineleme sırasını korumak istiyorum List. Yöntemleri LinkedHashMapkullanarak nasıl oluşturabilirim Collectors.toMap()?

10
Java 8: Lambda'nın yinelemelerini saymanın tercih edilen yolu?
Aynı problemle sık sık karşılaşıyorum. Lambda dışında kullanmak için bir lambda sayısını saymam gerekiyor . Örneğin: myStream.stream().filter(...).forEach(item -> { ... ; runCount++}); System.out.println("The lambda ran " + runCount + "times"); Sorun, runCount'un olması gerektiğidir final, bu nedenle bir int. O olamaz Integerçünkü bu değişmez . Bunu sınıf seviyesinde değişken (yani …

9
Java 8: Lambda'yı satırsonu ve girintiyle biçimlendirme
Lambda girintisi ile elde etmek istediğim şey şudur: Çok satırlı açıklama: String[] ppl = new String[] { "Karen (F)", "Kevin (M)", "Lee (M)", "Joan (F)", "Des (M)", "Rick (M)" }; List<String> strings = Arrays.stream(ppl) .filter( (x) -> { return x.contains("(M)"); } ).collect(Collectors.toList()); strings.stream().forEach(System.out::println); Tek satırlık açıklama: List<String> strings = Arrays.stream(ppl) …

5
Bir Java 8 akışını Guava ImmutableCollection'a nasıl toplayabilirim?
Aşağıdakileri yapmak istiyorum: List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList()); ancak ortaya çıkan liste bir şekilde Guava'nın bir uygulamasıdır ImmutableList. Yapabileceğimi biliyorum List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList()); List<Integer> immutableList = ImmutableList.copyOf(list); ama doğrudan ona toplamak istiyorum. denedim List<Integer> list = IntStream.range(0, 7) .collect(Collectors.toCollection(ImmutableList::of)); ama bir istisna yarattı: com.google.common.collect.ImmutableCollection.add (ImmutableCollection.java:96) adresinde java.lang.UnsupportedOperationException

6
forEach loop Java 8 for Map entry set
Bir harita giriş kümesi için her döngü için java7'yi java8'e kadar her döngü için eski geleneksel dönüştürmeye çalışıyorum, ancak bir hata alıyorum. İşte dönüştürmeye çalıştığım kod: for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println("Key : " + entry.getKey() + " Value : " + entry.getValue()); } İşte yaptığım değişiklikler: map.forEach( …
82 java  lambda  java-8 

5
Java 8 ve Java 9'da işaretsiz Tamsayı nasıl kullanılır?
Oracle "İlkel veri türleri" sayfasında , Java 8'in imzalanmamış girişler ve uzunlar için destek eklediğinden bahseder: int: Varsayılan olarak, intveri türü minimum değeri −2 31 ve maksimum değeri 2 31 −1 olan 32 bitlik işaretli ikiye tümleyen bir tamsayıdır . Java SE 8 ve sonrasında, intminimum değeri 0 ve maksimum …
82 java  java-8  unsigned 

3
Java-8'de birden fazla özel durumu yakalama
Metodumda bulduğum çoklu yakalama özelliğini denerken m1()her şey beklendiği gibi çalışıyor. Ancak, m2()aynı kodda derlemez. Ben sadece kod satırı sayısını azaltmak için sözdizimini değiştirdim. public class Main { public int m1(boolean bool) { try { if (bool) { throw new Excep1(); } throw new Excep2(); //This m1() is compiling abs …

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.