«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
Kendisini öğe olarak içeren ArrayList'in karma kodu
Biz bulabilir hashcodea listkendisini içerdiğini element? Bunun kötü bir uygulama olduğunu biliyorum, ama görüşmeci bunu sordu. Aşağıdaki kodu koştu zaman atar StackOverflowError: public class Main { public static void main(String args[]) { ArrayList<ArrayList> a = new ArrayList(); a.add(a); a.hashCode(); } } Şimdi burada iki sorum var: Neden bir StackOverflowError? Karma …

5
Bir hashmap hashmapını başlatan kodun tekrarlanmasını nasıl önleyebilirim?
Her müşterinin bir kimliği ve tarihle birlikte müşterilere kimliğe göre Hashmap olarak depolanan birçok faturası vardır. HashMap<LocalDateTime, Invoice> allInvoices = allInvoicesAllClients.get(id); if(allInvoices!=null){ allInvoices.put(date, invoice); //<---REPEATED CODE }else{ allInvoices = new HashMap<>(); allInvoices.put(date, invoice); //<---REPEATED CODE allInvoicesAllClients.put(id, allInvoices); } Java çözümü aşağıdaki gibi görünüyor getOrDefault: HashMap<LocalDateTime, Invoice> allInvoices = allInvoicesAllClients.getOrDefault( id, …
27 java  java-8  hashmap 

1
Özel bir karşılaştırıcıyla bir TreeSet'ten kaldırmak neden daha büyük bir öğe kümesini kaldırmıyor?
Hem Java 8 hem de Java 11'i TreeSetkullanarak bir String::compareToIgnoreCasekarşılaştırıcı ile aşağıdakileri göz önünde bulundurun : final Set<String> languages = new TreeSet<>(String::compareToIgnoreCase); languages.add("java"); languages.add("c++"); languages.add("python"); System.out.println(languages); // [c++, java, python] Ben mevcut kesin öğeleri kaldırmaya çalıştığınızda TreeSetçalışır: belirtilen tüm kaldırılır: languages.removeAll(Arrays.asList("PYTHON", "C++")); System.out.println(languages); // [java] Ancak, yerine mevcut olandan daha …

7
Java 8'de engelleme arka plan yükleyicisi nasıl oluşturulur?
Soru Java 8'de uygun bir arka plan yükleyiciyi nasıl oluşturursunuz? Koşullar: veriler arka planda yüklenmelidir Yüklemeden sonra veriler gösterilmelidir veriler yüklenirken başka hiçbir istek kabul edilmemelidir veriler yüklenirken istekler varsa, belirli bir zaman aşımından sonra başka bir yükleme planlanmalıdır (örn. 5 saniye) Amaç, yeniden yükleme isteklerini kabul ettirmektir, ancak veritabanı …

3
Parametrelerde Java tipi tanıtımı
Bu pasajı tökezledim: public class ParamTest { public static void printSum(int a, double b) { System.out.println("In intDBL " + (a + b)); } public static void printSum(long a, long b) { System.out.println("In long " + (a + b)); } public static void printSum(double a, long b) { System.out.println("In doubleLONG " …

2
Sayı 0'a eşit olduğunda bir akışla sınır (numara) çağrısını nasıl atlayabilirim?
Nesneleri sağlayan bazı Java kodu var items. Bunları aşağıdakilere dayalı olarak sınırlar maxNumber: items.stream() .map(this::myMapper) .filter(item -> item != null) .limit(maxNumber) .collect(Collectors.toList()); Düzgün çalışır, ancak soru şudur: Zaman sınırlamasını atlamanın bir yolu var mı maxNumber == 0? Bunu yapabileceğimi biliyorum: if (maxNumber == 0) { items.stream() .map(this::myMapper) .filter(item -> item …


2
Ok (->) operatörü önceliği / önceliği en düşük mü yoksa atama önceliği / birleşik ataması en düşük mü?
JLS : En düşük öncelik operatörü lambda ifadesinin okudır (->) , ardından atama işleticileri tarafından farkedilmiştir. Hangi yönde takip edildi (artan öncelik, azalan öncelik)? - "izlenen", atamanın daha yüksek önceliğe veya daha düşük önceliğe sahip olduğu anlamına gelir (ok operatörüne göre)? Sanırım, arttıkça, "en düşük" (ok için) kesinlikle en düşük …


3
+0 ve -0, int ve float verileri için farklı davranışlar gösterir
Bu yazıyı negatif ve pozitif sıfır okudum . Benim anlayışım için aşağıdaki kod vermeli true ve true çıktı olarak. Ancak, veriyor falseve truebir çıktı olarak. Negatif sıfırı pozitif sıfıyla karşılaştırıyorum. public class Test { public static void main(String[] args) { float f = 0; float f2 = -f; Float F …
16 java  java-8 

5
Bir haritadan farklı değerlerle nasıl harita üretilir (ve BinaryOperator kullanarak sağ tuş kullanılır)?
Bir harita var Map<K, V>ve amacım yinelenen değerleri kaldırmak ve aynı yapıyı Map<K, V>tekrar çıktı . Çoğaltılmış değer bulunursa halinde, bir anahtar (orada seçilmelidir kiki tuşları (den) k1ve k1bu değerleri tutun), bu nedenle, farz BinaryOperator<K>vererek kgelen k1ve k2kullanılabilir. Örnek giriş ve çıkış: // Input Map<Integer, String> map = new HashMap<>(); …

1
'+' Operatörü Nesne ve Dizeye uygulanamaz
Aşağıdaki kod: void someMethod(Object value) { String suffix = getSuffix(); if (suffix != null) value += suffix; [...] } JDK 8'de hatasız derler (-source 1.6 kullanarak), ancak JDK 6'da hata iletisiyle başarısız olur: Operator '+' cannot be applied to java.lang.Object and java.lang.String Hatanın ne ile ilgili olduğunu anlasam da, bu …
12 java  java-8  javac  java-6 

2
Atanan görevlerinden biri herhangi bir nedenle başarısız olduğunda Java stop yürütücü hizmeti
Birkaç görevi aynı anda ve 1 dakika arayla 1 dakika boyunca çalıştıracak bir tür hizmete ihtiyacım var. Görevlerden biri başarısız olursa, hizmeti ve bir şeylerin yanlış gittiğini gösteren bir tür gösterge ile koşan her görevi durdurmak istiyorum, aksi takdirde bir dakika sonra her şey iyi gittiğinde servis her şeyin iyi …

2
Bu Java 8 Stream collect () yöntemini nasıl anlayabilirim?
Bir int dizisini List'e dönüştürmeye çalışıyordum ve Java 8 Stream kullanmanın alışılmadık yolunu seçtim ve bununla geldim Arrays.stream(arr).boxed().collect(Collectors.toList()); Hala bu çizgiyi tam olarak anlamakta zorlanıyorum, çoğunlukla, Collectors.toList()Bu durumda neden bir ArrayList<Integer>uygulama Listarayüzü döndürülüyor ? Neden olmasın LinkedList<Integer>veya Listarayüze uygun başka bir genel sınıf ? API Notları bölümünde, burada ArrayList'ten kısaca …

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.