Pertanyaan yang diberi tag «java-8»

Gunakan tag ini untuk pertanyaan khusus untuk Java 8 yang merupakan versi 8 (nomor internal 1.8) platform Java, dirilis pada 18 Maret 2014. Dalam kebanyakan kasus, Anda juga harus menentukan tag java.

3
Mengapa aliran paralel dengan lambda di penginisialisasi statis menyebabkan kebuntuan?
Saya menemukan situasi yang aneh di mana menggunakan aliran paralel dengan lambda di penginisialisasi statis membutuhkan waktu yang tampaknya selamanya tanpa pemanfaatan CPU. Berikut kodenya: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -> i).count(); System.out.println("done"); } public static void main(final String[] args) {} } Ini tampaknya mereproduksi kasus uji minimum …

3
Menangkap banyak pengecualian di Java-8
Saat mencoba fitur multi-tangkapan yang saya temukan dalam m1()metode saya semuanya bekerja dengan baik seperti yang diharapkan. Namun, dalam m2()kode yang sama tidak dikompilasi. Saya baru saja mengubah sintaks untuk mengurangi jumlah baris kode. public class Main { public int m1(boolean bool) { try { if (bool) { throw new …


6
Kode hash ArrayList yang berisi dirinya sebagai elemen
Bisakah kita menemukan hashcodea listyang mengandung dirinya element? Saya tahu ini adalah praktik yang buruk, tetapi inilah yang diminta pewawancara. Ketika saya menjalankan kode berikut ini melempar StackOverflowError: public class Main { public static void main(String args[]) { ArrayList<ArrayList> a = new ArrayList(); a.add(a); a.hashCode(); } } Sekarang di sini …

5
Bagaimana saya bisa menghindari mengulang kode yang menginisialisasi hashmap dari hashmap?
Setiap klien memiliki id, dan banyak faktur, dengan tanggal, disimpan sebagai Hashmap klien dengan id, dari hashmap faktur berdasarkan tanggal: 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); } Solusi Java tampaknya menggunakan getOrDefault: HashMap<LocalDateTime, Invoice> allInvoices …
27 java  java-8  hashmap 

1
Mengapa tidak menghapus dari TreeSet dengan pembanding khusus menghapus set item yang lebih besar?
Menggunakan Java 8 dan Java 11, pertimbangkan yang berikut TreeSetdengan String::compareToIgnoreCasepembanding: final Set<String> languages = new TreeSet<>(String::compareToIgnoreCase); languages.add("java"); languages.add("c++"); languages.add("python"); System.out.println(languages); // [c++, java, python] Ketika saya mencoba untuk menghapus elemen-elemen tepat yang ada di TreeSet, ia berfungsi: semua yang ditentukan dihapus: languages.removeAll(Arrays.asList("PYTHON", "C++")); System.out.println(languages); // [java] Namun, jika saya …

7
Bagaimana cara membuat loader latar belakang pemblokiran di Java 8?
Pertanyaan Bagaimana Anda membuat background loader yang tepat di Java 8? Ketentuan: data harus dimuat di latar belakang setelah memuat data harus ditampilkan sementara data dimuat, tidak ada permintaan lebih lanjut harus diterima jika ada permintaan saat data dimuat, pemuatan lain harus dijadwalkan setelah batas waktu tertentu (mis. 5 detik) …

3
Promosi tipe Java dalam parameter
Saya menemukan potongan ini: 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
Bagaimana saya bisa melewati batas (nomor) panggilan dengan aliran ketika jumlahnya sama dengan 0?
Saya punya beberapa kode Java yang menyediakan objek dari items. Ini membatasi mereka berdasarkan pada maxNumber: items.stream() .map(this::myMapper) .filter(item -> item != null) .limit(maxNumber) .collect(Collectors.toList()); Ini berfungsi dengan baik, tetapi pertanyaannya adalah ini: Apakah ada cara untuk melompati batasan kapan maxNumber == 0? Saya tahu saya bisa melakukan ini: if …


2
Panah (->) prioritas / prioritas operator terendah, atau prioritas penugasan / tugas gabungan terendah?
JLS : The Operator didahulukan terendah adalah panah dari ekspresi lambda (->) , diikuti oleh operator penugasan. Diikuti ke arah mana (meningkatkan prioritas, mengurangi prioritas)? - "mengikuti" berarti penugasan memiliki prioritas lebih tinggi atau prioritas lebih rendah (berkenaan dengan operator panah)? Saya kira, dalam peningkatan, karena "terendah" (untuk panah) berarti …


3
+0 dan -0 menunjukkan perilaku berbeda untuk data int dan float
Saya telah membaca posting ini nol negatif dan positif . Untuk pemahaman saya, kode berikut harus memberi true dan true sebagai output. Namun, itu memberi falsedan truesebagai hasil. Saya membandingkan nol negatif dengan nol positif. public class Test { public static void main(String[] args) { float f = 0; float …
16 java  java-8 

5
Bagaimana cara menghasilkan peta dengan nilai berbeda dari peta (dan menggunakan kunci kanan menggunakan BinaryOperator)?
Saya memiliki peta Map<K, V>dan tujuan saya adalah untuk menghapus nilai duplikat dan menampilkan struktur yang sama Map<K, V>lagi. Dalam hal nilai duplikat ditemukan, harus ada satu kunci yang dipilih ( k) dari dua kunci ( k1dan k1) yang memegang nilai-nilai ini, karena alasan ini, asumsikan BinaryOperator<K>pemberian kdari k1dan k2tersedia. …

1
Operator '+' tidak dapat diterapkan ke Obyek dan String
Kode berikut: void someMethod(Object value) { String suffix = getSuffix(); if (suffix != null) value += suffix; [...] } kompilasi tanpa kesalahan di JDK 8 (menggunakan -sumber 1.6), tetapi gagal di JDK 6 dengan pesan kesalahan: Operator '+' cannot be applied to java.lang.Object and java.lang.String Sementara saya mengerti apa kesalahannya, …
12 java  java-8  javac  java-6 

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.