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

5
Java 8, bir değeri veya işlevi tekrarlamak için iyi bir yol sağlar mı?
Diğer birçok dilde, örn. Haskell, bir değeri veya işlevi birden çok kez tekrarlamak kolaydır, örn. 1 değerinin 8 kopyasının bir listesini almak için: take 8 (repeat 1) ama bunu henüz Java 8'de bulamadım. Java 8'in JDK'sinde böyle bir işlev var mı? Veya alternatif olarak bir aralığa eşdeğer bir şey [1..8] …
118 java  java-8 

1
Özellik olarak Java 8 varsayılan yöntemleri: güvenli mi?
Java 8'de özelliklerin fakirlerin erkek versiyonu olarak varsayılan yöntemleri kullanmak güvenli bir uygulama mı? Bazıları pandaları sadece uğruna kullanırsanız üzüleceğini iddia ediyor , çünkü bu harika, ama niyetim bu değil. Ayrıca, varsayılan yöntemlerin API evrimini ve geriye dönük uyumluluğu desteklemek için tanıtıldığı da sık sık hatırlatılır, ki bu doğrudur, ancak …

6
Stream (). Map (…) lambda ifadeleriyle nasıl hata ayıklanır?
Projemizde java 8'e geçiş yapıyoruz ve yeni özelliklerini test ediyoruz. Projemde ben filtrelemek ve kullanarak bazı koleksiyonları dönüştürmek için Guava yüklemleri ve işlevleri kullanıyorum Collections2.transformve Collections2.filter. Bu geçişte örneğin guava kodunu java 8'e değiştirmem gerekiyor. Yani, yaptığım değişiklikler şu türden: List<Integer> naturals = Lists.newArrayList(1,2,3,4,5,6,7,8,9,10,11,12,13); Function <Integer, Integer> duplicate = new …
115 java  debugging  lambda  java-8 

4
Yeni computeIfAbsent işlevini nasıl kullanırım?
Map.computeIfAbsent'i kullanmayı çok istiyorum, ancak üniversite öğrencisi lambdalardan beri çok uzun zaman oldu. Neredeyse doğrudan dokümanlardan: İşleri yapmanın eski yöntemine bir örnek veriyor: Map<String, Boolean> whoLetDogsOut = new ConcurrentHashMap<>(); String key = "snoop"; if (whoLetDogsOut.get(key) == null) { Boolean isLetOut = tryToLetOut(key); if (isLetOut != null) map.putIfAbsent(key, isLetOut); } Ve …

11
Yerel değişkeni lambda içinden değiştirme
Yerel bir değişkeni değiştirme forEach derleme hatası verir: Normal int ordinal = 0; for (Example s : list) { s.setOrdinal(ordinal); ordinal++; } Lambda ile int ordinal = 0; list.forEach(s -> { s.setOrdinal(ordinal); ordinal++; }); Bunu nasıl çözeceğine dair bir fikrin var mı?
115 java  lambda  java-8 

2
Lambda ifadesi ve yöntem başvurusu [kapalı]
Kapalı . Bu soru fikir temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Bu yazıyı düzenleyerek gerçekler ve alıntılarla cevaplanabilmesi için soruyu güncelleyin . 6 yıl önce kapalı . Bu soruyu geliştirin IntelliJ, lambda ifadelerimi yöntem referanslarıyla değiştirmemi önermeye devam ediyor. İkisi arasında herhangi bir nesnel …

4
Java üçlü operatörü ve if / else <JDK8 uyumluluğunda
Son zamanlarda Spring Framework'ün kaynak kodunu okuyorum. Anlayamadığım bir şey burada: public Member getMember() { // NOTE: no ternary expression to retain JDK &lt;8 compatibility even when using // the JDK 8 compiler (potentially selecting java.lang.reflect.Executable // as common type, with that new base class not available on older JDKs) …

7
Java 8: java.util.function'da TriFunction (ve kin) nerede? Veya alternatif nedir?
Java.util.function.BiFunction'ı görüyorum, böylece bunu yapabilirim: BiFunction&lt;Integer, Integer, Integer&gt; f = (x, y) -&gt; { return 0; }; Ya bu yeterince iyi değilse ve TriFunction'a ihtiyacım varsa? Mevcut değil! TriFunction&lt;Integer, Integer, Integer, Integer&gt; f = (x, y, z) -&gt; { return 0; }; Sanırım kendi TriFunction'ımı tanımlayabileceğimi bildiğimi eklemeliyim, sadece onu …
113 java  lambda  java-8 

12
Spring Boot'ta JSON Java 8 LocalDateTime biçimi
Spring Boot Uygulamamda Java 8 LocalDateTime biçimlendirmeyle ilgili küçük bir sorun yaşıyorum. 'Normal' tarihlerle sorunum yok, ancak LocalDateTime alanları şu şekilde dönüştürülüyor: "startDate" : { "year" : 2010, "month" : "JANUARY", "dayOfMonth" : 1, "dayOfWeek" : "FRIDAY", "dayOfYear" : 1, "monthValue" : 1, "hour" : 2, "minute" : 2, "second" …

10
Dizi / Dizge Listesini diziye / Tamsayılar Listesi'ne dönüştürmek için Lambda ifadesi
Java 8 güçlü lambda ifadeleriyle birlikte geldiğinden, Bir Dizeler Listesini / dizisini diziye / Tamsayılar Listesi, Kayanlar, Çiftler vb. Dönüştürmek için bir işlev yazmak istiyorum. Normal Java'da, bu kadar basit olurdu for(String str : strList){ intList.add(Integer.valueOf(str)); } Ancak, bir Tamsayılar dizisine dönüştürülecek bir Dizeler dizisi verildiğinde, bir lambda ile aynı …

2
Comparator.reversed () lambda kullanarak derlemez
Bazı Kullanıcı nesneleri içeren bir listem var ve listeyi sıralamaya çalışıyorum, ancak yalnızca yöntem referansını kullanarak çalışıyor, derleyici lambda ifadesi ile bir hata veriyor: List&lt;User&gt; userList = Arrays.asList(u1, u2, u3); userList.sort(Comparator.comparing(u -&gt; u.getName())); // works userList.sort(Comparator.comparing(User::getName).reversed()); // works userList.sort(Comparator.comparing(u -&gt; u.getName()).reversed()); // Compiler error Hata: com\java8\collectionapi\CollectionTest.java:35: error: cannot find symbol …

7
Java8 Lambdas ve Anonim sınıflar
Java8 yakın zamanda piyasaya sürüldüğünden ve yepyeni lambda ifadeleri gerçekten harika göründüğünden, bunun alıştığımız Anonymous sınıflarının ölümü anlamına gelip gelmediğini merak ediyordum. Bu konuda biraz araştırma yaptım ve Lambda ifadelerinin sistematik olarak bu sınıfların yerini nasıl alacağına dair harika örnekler buldum, örneğin Koleksiyonun sıralama yöntemi, sıralamayı gerçekleştirmek için Anonim bir …

4
Lambda İfadesi ve genel yöntem
Genel bir arayüzüm olduğunu varsayalım: interface MyComparable&lt;T extends Comparable&lt;T&gt;&gt; { public int compare(T obj1, T obj2); } Ve bir yöntem sort: public static &lt;T extends Comparable&lt;T&gt;&gt; void sort(List&lt;T&gt; list, MyComparable&lt;T&gt; comp) { // sort the list } Bu yöntemi çağırabilir ve argüman olarak bir lambda ifadesi geçirebilirim: List&lt;String&gt; list = …
111 java  generics  lambda  java-8 

3
Neden Java 8'de split bazen sonuç dizisinin başlangıcında boş dizeleri kaldırır?
Java 8'den önce boş dizgeye böldüğümüzde String[] tokens = "abc".split(""); bölünmüş mekanizma ile işaretlenmiş yerlerde bölünecekti | |a|b|c| çünkü ""her karakterden önce ve sonra boş alan vardır. Sonuç olarak, ilk başta bu diziyi üretecektir. ["", "a", "b", "c", ""] ve daha sonra sondaki boş dizeleri kaldıracak (çünkü limitargümana açıkça negatif …
110 java  regex  split  java-8 


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.