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.


15
Java 8 Stream với xử lý hàng loạt
Tôi có một tệp lớn chứa danh sách các mục. Tôi muốn tạo một loạt các mục, thực hiện một yêu cầu HTTP với lô này (tất cả các mục đều cần thiết làm tham số trong yêu cầu HTTP). Tôi có thể làm điều đó rất dễ dàng với …




5
Cách sử dụng phù hợp Optional.ifPresent ()
Tôi đang cố gắng hiểu ifPresent()phương thức của OptionalAPI trong Java 8. Tôi có logic đơn giản: Optional<User> user=... user.ifPresent(doSomethingWithUser(user.get())); Nhưng điều này dẫn đến lỗi biên dịch: ifPresent(java.util.functionError:(186, 74) java: 'void' type not allowed here) Tất nhiên tôi có thể làm điều gì đó như sau: if(user.isPresent()) { doSomethingWithUser(user.get()); …
94 java  lambda  java-8  optional 

8
Mục đích của từ khóa mặc định trong Java là gì?
Giao diện trong Java tương tự như một lớp, nhưng phần thân của giao diện chỉ có thể bao gồm các phương thức và finaltrường trừu tượng (hằng số). Gần đây, tôi thấy một câu hỏi, có dạng như sau interface AnInterface { public default void myMethod() { System.out.println("D"); } …



1
hoàn thành tham gia và nhận được
Sự khác biệt giữa CompletableFuture.get()và là CompletableFuture.join()gì? Dưới đây là mã của tôi: 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()]; …

6
Triển khai HashMap Java 8
Theo tài liệu liên kết sau: Triển khai Java HashMap Tôi bối rối với việc triển khai HashMap(hay đúng hơn là một cải tiến trong HashMap). Truy vấn của tôi là: Đầu tiên static final int TREEIFY_THRESHOLD = 8; static final int UNTREEIFY_THRESHOLD = 6; static final int MIN_TREEIFY_CAPACITY = …

5
Tại sao tôi không thể ánh xạ số nguyên thành chuỗi khi truyền trực tuyến từ một mảng?
Mã này hoạt động (được lấy trong Javadoc): List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); Không thể biên dịch cái này: int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA cho tôi …

3
_ (gạch dưới) là một từ khóa dành riêng
Tôi vừa thay thế strong biểu thức lambda sau bằng _: s -> Integer.parseInt(s) Trình biên dịch Eclipse cho biết: '_' không nên được sử dụng làm định danh, vì nó là từ khóa dành riêng từ nguồn cấp 1.8 trở đi. Tôi không tìm thấy bất kỳ giải thích …
92 java  lambda  java-8 

6
Chuyển đổi tương lai Java thành một hoàn chỉnh
Java 8 giới thiệu CompletableFuture, một triển khai mới của Future có thể kết hợp (bao gồm một loạt các phương thức thenXxx). Tôi muốn sử dụng điều này độc quyền, nhưng nhiều thư viện tôi muốn sử dụng chỉ trả về các phiên bản không thể tổng Futurehợp. Có …
92 java  java-8  future 

6
Sử dụng các luồng để thu thập vào TreeSet với bộ so sánh tùy chỉnh
Làm việc trong Java 8, tôi có một TreeSetđịnh nghĩa như sau: private TreeSet<PositionReport> positionReports = new TreeSet<>(Comparator.comparingLong(PositionReport::getTimestamp)); PositionReport là một lớp khá đơn giản được định nghĩa như thế này: public static final class PositionReport implements Cloneable { private final long timestamp; private final Position position; public static PositionReport …

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.