Câu hỏi được gắn thẻ «java-8»

Sử dụng thẻ này cho các câu hỏi dành riêng cho Java 8, phiên bản 8 (số nội bộ 1.8) của nền tảng Java, được phát hành vào ngày 18 tháng 3 năm 2014. Trong hầu hết các trường hợp, bạn cũng nên chỉ định thẻ java.

3
Tại sao dòng song song với lambda trong bộ khởi tạo tĩnh lại gây ra bế tắc?
Tôi đã gặp một tình huống kỳ lạ khi sử dụng một luồng song song với lambda trong trình khởi tạo tĩnh dường như vĩnh viễn mà không sử dụng CPU. Đây là mã: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -> i).count(); System.out.println("done"); } public static void main(final String[] …

3
forEach so với forEachOrdered trong Java 8 Stream
Tôi hiểu rằng các phương pháp này khác nhau về thứ tự thực hiện nhưng trong tất cả các thử nghiệm của tôi, tôi không thể đạt được thứ tự thực hiện khác nhau. Thí dụ: 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)); Đầu ra: forEach Demo Output:AAA Output:BBB Output:CCC forEachOrdered …

4
Tại sao Java 8 lambda này không biên dịch được?
Mã Java sau không biên dịch được: @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 …

3
Một tính năng đặc biệt của suy luận kiểu ngoại lệ trong Java 8
Trong khi viết mã cho một câu trả lời khác trên trang web này, tôi đã bắt gặp điều đặc biệt này: 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) …

7
Có cách nào để chuyển đổi ZoneId thành ZoneOffset trong java 8 không?
Tôi có một kỷ nguyên giây và một zoneId, theo method1, nó có thể được chuyển đổi thành LocalDateTime với zoneId mặc định của hệ thống, nhưng tôi không tìm thấy cách chuyển đổi kỷ nguyên thứ hai thành LocalDateTime bằng method2, vì không có. ZoneOffset.systemDefaultTôi nghĩ nó khó hiểu. …

7
Ví dụ về phương pháp FlatMap Java 8 Streams
Tôi đã được kiểm tra sắp tới Java update, cụ thể là: Java 8 or JDK 8. Vâng, tôi đang thiếu kiên nhẫn, có rất nhiều thứ mới, nhưng, có điều gì đó tôi không hiểu, một số mã đơn giản: final Stream<Integer>stream = Stream.of(1,2,3,4,5,6,7,8,9,10); stream.flatMap(); javadocs là public <R> …

6
Java 8 Lambda Expressions - còn nhiều phương thức trong lớp lồng nhau
Tôi đang đọc về các tính năng mới tại: http://www.javaworld.com/article/2078836/java-se/love-and-hate-for-java-8.html Tôi đã xem ví dụ dưới đây: Sử dụng Lớp ẩn danh: button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { System.out.println("Action Detected"); } }); Với Lambda: button.addActionListener(e -> { System.out.println("Action Detected"); }); Ai đó sẽ làm gì với a MouseListenernếu …



8
Các giá trị mặc định trong JDK 8 có phải là một dạng đa kế thừa trong Java không?
Một tính năng mới sắp có trong JDK 8 cho phép bạn thêm vào giao diện hiện có mà vẫn duy trì khả năng tương thích nhị phân. Cú pháp giống như public interface SomeInterface() { void existingInterface(); void newInterface() default SomeClass.defaultImplementation; } Bằng cách này cho tất cả các …


5
Làm cách nào để thu thập một luồng Java 8 vào một Guava ImmutableCollection?
Tôi muốn làm như sau: List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList()); nhưng theo cách mà danh sách kết quả là sự triển khai của Guava ImmutableList. Tôi biết tôi có thể làm List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList()); List<Integer> immutableList = ImmutableList.copyOf(list); nhưng tôi muốn thu thập trực tiếp. Tôi đã thử …

4
Làm cách nào để giữ thứ tự lặp lại của Danh sách khi sử dụng Collections.toMap () trên luồng?
Tôi đang tạo một Maptừ một Listnhư sau: List<String> strings = Arrays.asList("a", "bb", "ccc"); Map<String, Integer> map = strings.stream() .collect(Collectors.toMap(Function.identity(), String::length)); Tôi muốn giữ cùng một thứ tự lặp lại như trong List. Làm cách nào tôi có thể tạo một LinkedHashMapbằng các Collectors.toMap()phương pháp?

10
Java 8: Cách ưa thích để đếm số lần lặp của lambda?
Tôi đối mặt với cùng một vấn đề thường xuyên. Tôi cần đếm số lần chạy của lambda để sử dụng bên ngoài lambda. Ví dụ: myStream.stream().filter(...).forEach(item->{ ... ; runCount++); System.out.println("The lambda ran "+runCount+"times"); Vấn đề là runCount cần phải là số cuối cùng, vì vậy nó không thể là …


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.