«java-8» 태그된 질문

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

5
Java8 : java.lang.Object에서 메소드의 기본 메소드를 정의하는 것이 금지 된 이유
기본 메소드는 Java 툴박스의 새로운 도구입니다. 그러나 메소드 의 default버전 을 정의하는 인터페이스를 작성하려고했습니다 toString. Java는 선언 된 메소드 java.lang.Object가 수행되지 않을 수 있으므로 금지되어 있다고 말합니다 default. 왜 이런 경우입니까? "기본 클래스 항상 승리"규칙이 있다는 것을 알고 있으므로 기본적으로 (pun;) 메소드의 default구현은 어쨌든 Object메소드에 의해 덮어 쓰여집니다 Object. 그러나 …


5
Java 7 컴파일 된 코드를 Java 8로 업그레이드하면 어떤 이점이 있습니까?
Java 7을 사용하여 작성된 오래된 응용 프로그램이 있습니다. Java 8 JRE에서 제대로 실행됩니다. Java 8 기능을 사용하기 위해 코드를 다시 작성할 계획은 없습니다. 컴파일 된 코드를 최신 Java 8 JDK로 업그레이드하면 기술적 인 이점이 있습니까? 분명히하기 위해 코드는 현재 Java 7로 컴파일되어 있으며 최신 Java 8 JRE로 이미 실행 중입니다. …
127 java  performance  java-8 


4
스트림에서 Java 8 foreach 루프를 사용하여 다음 항목으로 이동
루프의 다음 항목으로 이동하려는 Java 8 foreach 스트림에 문제가 있습니다. 내가 좋아하는 명령을 설정할 수 없습니다 continue;만,return; 작동하지만이 경우 루프를 종료합니다. 루프의 다음 항목으로 이동해야합니다. 어떻게 할 수 있습니까? 예 (작동하지 않음) : try(Stream<String> lines = Files.lines(path, StandardCharsets.ISO_8859_1)){ filteredLines = lines.filter(...).foreach(line -> { ... if(...) continue; // this command doesn't …
126 java  java-8 


10
"스트림이 이미 작동되었거나 닫혔습니다"를 방지하기 위해 스트림을 복사합니다.
두 번 처리 할 수 ​​있도록 Java 8 스트림을 복제하고 싶습니다. 나는 collect목록으로 할 수 있고 그로부터 새로운 스트림을 얻을 수 있습니다 . // doSomething() returns a stream List<A> thing = doSomething().collect(toList()); thing.stream()... // do stuff thing.stream()... // do other stuff 하지만 좀 더 효율적이고 우아한 방법이 있어야한다고 생각합니다. 컬렉션으로 …

3
Java8에서 시간대로 LocalDateTime 형식 지정
이 간단한 코드가 있습니다. DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss.SSSSSS Z"); LocalDateTime.now().format(FORMATTER) 그러면 다음 예외가 발생합니다. java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: OffsetSeconds at java.time.LocalDate.get0(LocalDate.java:680) at java.time.LocalDate.getLong(LocalDate.java:659) at java.time.LocalDateTime.getLong(LocalDateTime.java:720) at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298) at java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.format(DateTimeFormatterBuilder.java:3315) at java.time.format.DateTimeFormatterBuilder$CompositePrinterParser.format(DateTimeFormatterBuilder.java:2182) at java.time.format.DateTimeFormatter.formatTo(DateTimeFormatter.java:1745) at java.time.format.DateTimeFormatter.format(DateTimeFormatter.java:1719) at java.time.LocalDateTime.format(LocalDateTime.java:1746) 이 문제를 해결하는 방법은 무엇입니까?
121 java  java-8  java-time 

3
기준과 일치하는 첫 번째 요소를 가져옵니다.
스트림의 기준과 일치하는 첫 번째 요소를 얻는 방법은 무엇입니까? 나는 이것을 시도했지만 작동하지 않습니다 this.stops.stream().filter(Stop s-> s.getStation().getName().equals(name)); 해당 기준이 작동하지 않고 필터 메서드가 Stop이 아닌 다른 클래스에서 호출됩니다. public class Train { private final String name; private final SortedSet<Stop> stops; public Train(String name) { this.name = name; this.stops = new …
121 java  java-8  java-stream 

9
람다식이 코드 줄을 저장하는 것 외에 다른 용도로 사용됩니까?
람다식이 코드 줄을 저장하는 것 외에 다른 용도로 사용됩니까? 해결하기 쉽지 않은 문제를 해결 한 람다가 제공하는 특별한 기능이 있습니까? 내가 본 일반적인 사용법은 다음과 같이 작성하는 것입니다. Comparator<Developer> byName = new Comparator<Developer>() { @Override public int compare(Developer o1, Developer o2) { return o1.getName().compareTo(o2.getName()); } }; 람다 식을 사용하여 코드를 …
120 java  lambda  java-8 

4
CompletableFuture | thenApply 대 thenCompose
thenApply()와 thenCompose(). 의 차이에 대해 머리를 이해할 수 없습니다 . 그렇다면 누군가 유효한 사용 사례를 제공 할 수 있습니까? Java 문서에서 : thenApply(Function<? super T,? extends U> fn) CompletionStage이 단계가 정상적으로 완료되면 제공된 함수에 대한 인수로이 단계의 결과를 사용하여 실행 되는 new 를 반환 합니다. thenCompose(Function<? super T,? extends CompletionStage<U>> …

6
Java 8에서 2 개의 화살표가있는 람다는 무엇을 의미합니까?
전에 몇 가지 Java 8 자습서를 읽었습니다. 바로 지금 다음 주제를 만났습니다. Java는 Currying을 지원합니까? 여기에 다음 코드가 있습니다. IntFunction<IntUnaryOperator> curriedAdd = a -> b -> a + b; System.out.println(curriedAdd.apply(1).applyAsInt(12)); 이 예제에는 2 개의 요소가 합산되어 있음을 이해하지만 구성을 이해할 수 없습니다. a -> b -> a + b; 표현식의 …
118 java  lambda  java-8  currying 

3
PermGen과 Metaspace의 차이점은 무엇입니까?
Java 7까지는 JVM 메모리에 PermGen 이라는 영역이 있었는데 , JVM이 클래스를 유지하는 데 사용되었습니다. Java 8 에서는 제거되고 Metaspace 라는 영역으로 대체되었습니다 . PermGen과 Metaspace 의 가장 중요한 차이점 은 무엇입니까 ? 내가 아는 유일한 차이점 java.lang.OutOfMemoryError: PermGen space은 더 이상 던질 수없고 VM 매개 변수 MaxPermSize가 무시 된다는 것 …


5
Java 8이 값이나 기능을 반복하는 좋은 방법을 제공합니까?
다른 많은 언어에서. Haskell, 값이나 함수를 여러 번 반복하는 것은 쉽습니다. 값 1의 8 개 사본 목록을 얻으려면 : take 8 (repeat 1) 하지만 Java 8에서는 아직 찾지 못했습니다. Java 8의 JDK에 이러한 기능이 있습니까? 또는 다음과 같은 범위에 해당하는 것 [1..8] Java의 장황한 진술에 대한 명백한 대체물처럼 보일 것입니다. …
118 java  java-8 

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