«java-8» 태그된 질문

2014 년 3 월 18 일에 릴리스 된 Java 플랫폼의 버전 8 (내부 번호 1.8) 인 Java 8 관련 질문에이 태그를 사용하십시오. 대부분의 경우 java 태그도 지정해야합니다.

5
Optional.ifPresent ()의 적절한 사용
Java 8 ifPresent()에서 OptionalAPI 의 방법 을 이해하려고합니다 . 나는 간단한 논리가 있습니다. Optional<User> user=... user.ifPresent(doSomethingWithUser(user.get())); 그러나 이로 인해 컴파일 오류가 발생합니다. ifPresent(java.util.functionError:(186, 74) java: 'void' type not allowed here) 물론 다음과 같이 할 수 있습니다. if(user.isPresent()) { doSomethingWithUser(user.get()); } 그러나 이것은 정확히 어수선한 null수표 와 같습니다 . 코드를 다음과 …
98 java  lambda  java-8  optional 

5
Java의 람다 forEach ()에서 반환
forEach()람다 식의 가능성을 발견 하기 위해 일부 for-each 루프를 람다 메서드 로 변경하려고합니다 . 다음이 가능한 것 같습니다. ArrayList<Player> playersOfTeam = new ArrayList<Player>(); for (Player player : players) { if (player.getTeam().equals(teamName)) { playersOfTeam.add(player); } } 람다와 함께 forEach() players.forEach(player->{if (player.getTeam().equals(teamName)) {playersOfTeam.add(player);}}); 하지만 다음은 작동하지 않습니다. for (Player player : players) …

5
Collections.sort는 Mergesort를 사용하지만 Arrays.sort는 사용하지 않는 이유는 무엇입니까?
JDK-8 (x64)을 사용하고 있습니다. 들어 Arrays.sort(프리미티브) 나는 자바 문서에 다음과 발견 : 정렬 알고리즘은 Vladimir Yaroslavskiy, Jon Bentley, Joshua Bloch 의 Dual-Pivot Quicksort입니다. 들어 Collections.sort(객체) 나는이 "Timsort"를 발견 : 이 구현은 안정적이고 적응 적이며 반복적 인 mergesort입니다 .이 구현 은 지정된 목록을 배열로 덤프하고 배열을 정렬 하며 목록을 반복 하여 …

15
일괄 처리 기능이있는 Java 8 Stream
항목 목록이 포함 된 큰 파일이 있습니다. 항목의 일괄 처리를 만들고이 일괄 처리로 HTTP 요청을 만들고 싶습니다 (모든 항목은 HTTP 요청의 매개 변수로 필요함). for루프를 사용 하면 매우 쉽게 할 수 있지만, Java 8 애호가로서 Java 8의 Stream 프레임 워크로 이것을 작성해보고 싶습니다 (그리고 지연 처리의 이점을 누리고 있습니다). 예: …

6
Java Future를 CompletableFuture로 전환
Java 8 CompletableFuture은 구성 가능한 Future의 새로운 구현 인을 도입했습니다 (thenXxx 메서드 여러 개 포함). 이것을 독점적으로 사용하고 싶지만 사용하려는 많은 라이브러리는 구성 할 수없는 Future인스턴스 만 반환 합니다. 반환 된 Future인스턴스를 내부에 래핑하여 CompleteableFuture구성 할 수있는 방법이 있습니까?
95 java  java-8  future 

4
기본 메소드가있는 인터페이스는 언제 초기화됩니까?
대답 Java 언어 사양을 통해 검색하는 동안 이 질문을 , 나는 배운 것을 클래스가 초기화되기 전에 직접 수퍼 클래스를 초기화해야 하지만 클래스에 의해 구현 된 인터페이스는 초기화되지 않습니다. 마찬가지로 인터페이스의 수퍼 인터페이스는 인터페이스가 초기화되기 전에 초기화되지 않습니다. 호기심 때문에 시도해 보았지만 예상대로 인터페이스 InterfaceType가 초기화되지 않았습니다. public class Example { …


5
배열에서 스트리밍 할 때 정수를 문자열에 매핑 할 수없는 이유는 무엇입니까?
이 코드는 작동합니다 (Javadoc에서 가져옴). List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); 이것은 컴파일 할 수 없습니다. int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA는 "람다 식에 호환되지 않는 반환 유형 …

3
_ (밑줄)은 예약 된 키워드입니다.
s다음 람다 식에서 다음으로 대체 했습니다 _. s -> Integer.parseInt(s) Eclipse 컴파일러는 다음과 같이 말합니다. '_'는 소스 레벨 1.8부터 예약 된 키워드이므로 식별자로 사용해서는 안됩니다. JLS §3.9 어휘 구조 / 키워드 에서 설명을 찾지 못했습니다 .
94 java  lambda  java-8 

8
Java에서 기본 키워드의 목적은 무엇입니까?
Java의 인터페이스는 클래스와 비슷하지만 인터페이스의 본문에는 추상 메서드 와 final필드 (상수) 만 포함될 수 있습니다 . 최근에 다음과 같은 질문을 보았습니다. interface AnInterface { public default void myMethod() { System.out.println("D"); } } 인터페이스 정의에 따라 추상 메서드 만 허용됩니다. 위 코드를 컴파일 할 수있는 이유는 무엇입니까? default키워드 는 무엇입니까 ? …


6
Java 8에서 ArrayList의 기본 용량이 이제 0 인 이유는 무엇입니까?
내가 기억 하듯이 Java 8 이전에는 기본 용량 ArrayList이 10이었습니다. 놀랍게도 기본 (무효) 생성자에 대한 주석은 여전히 ​​다음과 같이 말합니다. Constructs an empty list with an initial capacity of ten. 에서 ArrayList.java: /** * Shared empty array instance used for default sized empty instances. We * distinguish this from EMPTY_ELEMENTDATA …
93 java  arraylist  java-8 


6
HashMap Java 8 구현
다음 링크 문서에 따라 : Java HashMap 구현 의 구현 HashMap(또는 오히려 향상 HashMap) 과 혼동됩니다 . 내 쿼리는 다음과 같습니다. 첫째로 static final int TREEIFY_THRESHOLD = 8; static final int UNTREEIFY_THRESHOLD = 6; static final int MIN_TREEIFY_CAPACITY = 64; 이 상수는 왜 그리고 어떻게 사용됩니까? 이에 대한 명확한 예가 …

6
스트림을 사용하여 사용자 정의 비교기로 TreeSet에 수집
Java 8에서 작업하면서 TreeSet다음과 같이 정의했습니다. private TreeSet<PositionReport> positionReports = new TreeSet<>(Comparator.comparingLong(PositionReport::getTimestamp)); PositionReport 다음과 같이 정의 된 다소 간단한 클래스입니다. public static final class PositionReport implements Cloneable { private final long timestamp; private final Position position; public static PositionReport create(long timestamp, Position position) { return new PositionReport(timestamp, position); } private …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.