«java-8» 태그된 질문

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

3
forEach 대 forEachOrdered in Java 8 Stream
이 방법은 실행 순서가 다르지만 모든 테스트에서 다른 순서 실행을 달성 할 수 없다는 것을 이해합니다. 예: 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)); 산출: forEach Demo Output:AAA Output:BBB Output:CCC forEachOrdered Demo Output:AAA Output:BBB Output:CCC 두 가지 방법이 다른 출력을 생성하는 경우 예를 제공하십시오.

3
정적 초기화 프로그램에서 람다가있는 병렬 스트림이 교착 상태를 일으키는 이유는 무엇입니까?
정적 이니셜 라이저에서 람다와 함께 병렬 스트림을 사용하는 데 CPU 사용률이없이 영원히 걸리는 이상한 상황을 발견했습니다. 코드는 다음과 같습니다. class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -> i).count(); System.out.println("done"); } public static void main(final String[] args) {} } 이것은이 동작에 대한 최소한의 재현 테스트 케이스 인 것으로 보입니다. 만약 내가: …

4
이 Java 8 람다가 컴파일에 실패하는 이유는 무엇입니까?
다음 Java 코드는 컴파일에 실패합니다. @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 } 컴파일러는 …

7
Java 8에서 ZoneId를 ZoneOffset으로 변환하는 방법이 있습니까?
epoch second 및 zoneId, method1. 시스템 기본 zoneId를 사용하여 LocalDateTime으로 변환 할 수 있지만 method2에 의해 epoch second를 LocalDateTime으로 변환하는 방법을 찾지 못합니다 ZoneOffset.systemDefault. import java.time.{Instant, LocalDateTime, ZoneId, ZoneOffset} val epochSecond = System.currentTimeMillis() / 1000 LocalDateTime.ofInstant(Instant.ofEpochSecond(epochSecond), ZoneId.systemDefault())//method1 LocalDateTime.ofEpochSecond(epochSecond, 0, ZoneOffset.MAX)//method2

7
Java 8 Streams FlatMap 메서드 예제
나는 다가오는 Java update, 즉 : Java 8 or JDK 8. 예, 참을성이없고 새로운 것이 많이 있지만 이해하지 못하는 것이 있습니다. 간단한 코드가 있습니다. final Stream<Integer>stream = Stream.of(1,2,3,4,5,6,7,8,9,10); stream.flatMap(); javadocs는 public <R> Stream<R> flatMap(Function<? super T,? extends Stream<? extends R>> mapper) 이 스트림의 각 요소를 제공된 매핑 함수를 각 요소에 …

3
Java 8의 예외 유형 추론의 독특한 기능
이 사이트에서 다른 답변에 대한 코드를 작성하는 동안 다음과 같은 특징을 발견했습니다. 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) throws T { throw (T) t; } static <T extends …

6
Java 8 Lambda 표현식-중첩 클래스의 여러 메서드는 어떻습니까?
새로운 기능에 대한 내용은 http://www.javaworld.com/article/2078836/java-se/love-and-hate-for-java-8.html 에서 읽고 있습니다 . 아래 예를 보았습니다. 익명 클래스 사용 : button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { System.out.println("Action Detected"); } }); Lambda 사용 : button.addActionListener(e -> { System.out.println("Action Detected"); }); MouseListener익명 클래스 내에서 여러 메서드를 구현하려는 경우 누군가를 사용하여 무엇을 할 수 있습니까? …

5
Stream.allMatch ()가 빈 스트림에 대해 true를 반환하는 이유는 무엇입니까?
제 동료와 저는 빈 스트림 호출 allMatch()이 반환 될 것이라는 가정으로 인해 버그가 발생했습니다 false. if (myItems.allMatch(i -> i.isValid()) { //do something } 물론 문서를 읽지 않고 가정하는 것은 우리의 잘못입니다. 그러나 내가 이해하지 못하는 allMatch()것은 빈 스트림에 대한 기본 동작이 true. 그 이유는 무엇입니까? anyMatch()(반대로 false를 반환하는) 와 마찬가지로이 …

4
Java 8 Comparator 유형 추론에 의해 매우 혼동 됨
특히 정적 메서드 사용과 람다 식에 매개 변수 형식이 필요한지 여부와 관련하여 Collections.sort및 의 차이점을 살펴 보았습니다 . 시작하기 전에, 예 를 들어 내 문제를 극복하기 위해 메소드 참조를 사용할 수 있다는 것을 알고 있지만 여기에서 내 쿼리는 수정하고 싶은 것이 아니라 대답을 원하는 것입니다. 즉, Java 컴파일러가 이러한 방식으로 …

11
JRE 8에서 JavaFX 사용, "액세스 제한"오류
새 Java 8 프로젝트에서 javafx 관련 클래스를 사용하려고 할 때 이클립스에서 액세스 제한 오류가 발생합니다. 지금까지 내가 찾은 유일한 '솔루션'은 액세스 제한을 무시하도록 Eclipse에 명령하는 것이었지만 만족스럽지 않습니다. 오류의 예 : Access restriction: The type Pane is not accessible due to restriction on required library C:\Program Files\Java\jre8_0\lib\ext\jfxrt.jar Java 8 용 …
84 java  eclipse  javafx  java-8 

8
JDK 8의 기본값은 Java에서 다중 상속의 한 형태입니까?
JDK 8의 새로운 기능을 사용하면 바이너리 호환성을 유지하면서 기존 인터페이스에 추가 할 수 있습니다. 구문은 다음과 같습니다. public interface SomeInterface() { void existingInterface(); void newInterface() default SomeClass.defaultImplementation; } 이러한 방식으로 기존의 모든 구현 SomeInterface에서이 새 버전으로 업그레이드 할 때 갑자기 newInterface(). 이것은 깔끔하지만 구현하지 않은 새로운 기본 메서드를 추가 한 …

10
org.apache.tomcat.util.bcel.classfile.ClassFormatException : 상수 풀의 잘못된 바이트 태그 : 15
Tomcat 7에서 Java 8을 사용하는 다른 서버로 Tomcat 7에서 웹 응용 프로그램을 이식하고 있습니다. Tomcat이 성공적으로 시작되지만 로그에는 다음 catalina.out이 표시됩니다. org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15 at org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:131) at org.apache.tomcat.util.bcel.classfile.ConstantPool.<init>(ConstantPool.java:60) at org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:209) at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:119) at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2049) at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1931) at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1899) at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1885) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1281) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:855) at …

12
옵션이없는 경우 로직을 실행하는 방법은 무엇입니까?
java8을 사용하여 다음 코드를 바꾸고 싶습니다 Optional. public Obj getObjectFromDB() { Obj obj = dao.find(); if (obj != null) { obj.setAvailable(true); } else { logger.fatal("Object not available"); } return obj; } 다음 의사 코드는 orElseRun방법 이 없기 때문에 작동하지 않지만 어쨌든 내 목적을 보여줍니다. public Optional<Obj> getObjectFromDB() { Optional<Obj> obj …
83 java  java-8  optional 


9
자바 8 : 줄 바꿈 및 들여 쓰기로 람다 서식 지정
람다 들여 쓰기로 달성하고 싶은 것은 다음과 같습니다. 여러 줄 문 : String[] ppl = new String[] { "Karen (F)", "Kevin (M)", "Lee (M)", "Joan (F)", "Des (M)", "Rick (M)" }; List<String> strings = Arrays.stream(ppl) .filter( (x) -> { return x.contains("(M)"); } ).collect(Collectors.toList()); strings.stream().forEach(System.out::println); 한 줄 문 : List<String> strings …

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