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.


5
Penggunaan yang tepat dari Opsional.ifPresent ()
Saya mencoba memahami ifPresent()metode OptionalAPI di Java 8. Saya memiliki logika sederhana: Optional<User> user=... user.ifPresent(doSomethingWithUser(user.get())); Tetapi ini menghasilkan kesalahan kompilasi: ifPresent(java.util.functionError:(186, 74) java: 'void' type not allowed here) Tentu saja saya bisa melakukan sesuatu seperti ini: if(user.isPresent()) { doSomethingWithUser(user.get()); } Tapi ini persis seperti nullcek yang berantakan . Jika saya …
99 java  lambda  java-8  optional 

5
Kembali dari lambda forEach () di java
Saya mencoba mengubah beberapa loop untuk setiap menjadi forEach()-metode lambda untuk menemukan kemungkinan ekspresi lambda. Berikut ini tampaknya mungkin: ArrayList<Player> playersOfTeam = new ArrayList<Player>(); for (Player player : players) { if (player.getTeam().equals(teamName)) { playersOfTeam.add(player); } } Dengan lambda forEach() players.forEach(player->{if (player.getTeam().equals(teamName)) {playersOfTeam.add(player);}}); Tapi yang berikutnya tidak berhasil: for (Player player …

5
Mengapa Collections.sort menggunakan Mergesort tetapi Arrays.sort tidak?
Saya menggunakan JDK-8 (x64). Untuk Arrays.sort(primitif) saya menemukan yang berikut ini di dokumentasi Java: Algoritme pengurutannya adalah Dual-Pivot Quicksort oleh Vladimir Yaroslavskiy, Jon Bentley, dan Joshua Bloch.` Untuk Collections.sort(objek) saya menemukan "Timsort" ini: Implementasi ini adalah mergesort yang stabil, adaptif, dan berulang ... Implementasi ini membuang daftar yang ditentukan ke …

6
Ubah Java Future menjadi CompletableFuture
Java 8 memperkenalkan CompletableFuture, implementasi baru Future yang dapat disusun (termasuk sekumpulan metode thenXxx). Saya ingin menggunakan ini secara eksklusif, tetapi banyak pustaka yang ingin saya gunakan hanya mengembalikan Futurecontoh yang tidak dapat disusun . Apakah ada cara untuk merangkum Futurecontoh yang dikembalikan di dalam a CompleteableFuturesehingga saya bisa membuatnya?
97 java  java-8  future 

8
Apa tujuan dari kata kunci default di Java?
Antarmuka di Java mirip dengan kelas, tetapi tubuh antarmuka hanya dapat menyertakan metode dan finalbidang abstrak (konstanta). Baru-baru ini, saya melihat sebuah pertanyaan, yang terlihat seperti ini interface AnInterface { public default void myMethod() { System.out.println("D"); } } Menurut definisi antarmuka, hanya metode abstrak yang diperbolehkan. Mengapa memungkinkan saya untuk …

4
Kapan antarmuka dengan metode default diinisialisasi?
Sementara mencari melalui Java Language Specification untuk menjawab pertanyaan ini , saya belajar bahwa Sebelum kelas diinisialisasi, superclass langsungnya harus diinisialisasi, tetapi antarmuka yang diimplementasikan oleh kelas tersebut tidak diinisialisasi. Demikian pula, superinterfaces dari sebuah antarmuka tidak diinisialisasi sebelum antarmuka diinisialisasi. Untuk rasa ingin tahu saya sendiri, saya mencobanya dan, …


5
Mengapa saya tidak bisa memetakan bilangan bulat ke string saat streaming dari array?
Kode ini berfungsi (diambil di Javadoc): List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); Yang ini tidak dapat dikompilasi: int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA memberi tahu saya bahwa saya …

3
_ (garis bawah) adalah kata kunci yang dipesan
Saya baru saja mengganti sekspresi lambda berikut dengan _: s -> Integer.parseInt(s) Kompiler Eclipse mengatakan: '_' tidak boleh digunakan sebagai pengenal, karena ini adalah kata kunci yang dipesan dari sumber level 1.8 di. Saya belum menemukan penjelasan apa pun di JLS §3.9 Struktur Leksikal / Kata Kunci.
94 java  lambda  java-8 

6
Di Java 8, mengapa kapasitas default ArrayList sekarang nol?
Seingat saya, sebelum Java 8, kapasitas defaultnya ArrayListadalah 10. Anehnya, komentar pada konstruktor default (void) masih mengatakan: Constructs an empty list with an initial capacity of ten. Dari ArrayList.java: /** * Shared empty array instance used for default sized empty instances. We * distinguish this from EMPTY_ELEMENTDATA to know how …
93 java  arraylist  java-8 

6
Implementasi HashMap Java 8
Sesuai dokumen tautan berikut: Implementasi Java HashMap Saya bingung dengan implementasi HashMap(atau lebih tepatnya, peningkatan dalam HashMap). Pertanyaan saya adalah: pertama static final int TREEIFY_THRESHOLD = 8; static final int UNTREEIFY_THRESHOLD = 6; static final int MIN_TREEIFY_CAPACITY = 64; Mengapa dan bagaimana konstanta ini digunakan? Saya ingin beberapa contoh yang …


1
completefuture gabung vs get
Apa perbedaan antara CompletableFuture.get()dan CompletableFuture.join()? Di bawah ini adalah kode saya: List<String> process() { List<String> messages = Arrays.asList("Msg1", "Msg2", "Msg3", "Msg4", "Msg5", "Msg6", "Msg7", "Msg8", "Msg9", "Msg10", "Msg11", "Msg12"); MessageService messageService = new MessageService(); ExecutorService executor = Executors.newFixedThreadPool(4); List<String> mapResult = new ArrayList<>(); CompletableFuture<?>[] fanoutRequestList = new CompletableFuture[messages.size()]; int count …


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.