«java-8» 태그된 질문

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

4
기존 스트림에 새로운 가치 추가
기존에 새로운 가치를 추가하는 좋은 방법이 Stream있습니까? 내가 상상할 수있는 것은 다음과 같다. public <T> Stream<T> addToStream(Stream<T> stream, T elem ) { List<T> result = stream.collect(Collectors.toList()); result.add(elem); return result.stream(); } 그러나 나는 장황함없이 람다 표현에서 사용할 수있는 더 간결한 것을 찾고 있습니다. PECS 원칙 을 구현하려고 할 때 또 다른 …
79 java  java-8  wildcard 

2
\ R이 Java 8과 Java 9의 정규식에서 다르게 작동하는 이유는 무엇입니까?
다음 코드는 Java 8 및 9 모두에서 컴파일되지만 다르게 작동합니다. class Simple { static String sample = "\nEn un lugar\r\nde la Mancha\nde cuyo nombre\r\nno quiero acordarme"; public static void main(String args[]){ String[] chunks = sample.split("\\R\\R"); for (String chunk: chunks) { System.out.println("Chunk : "+chunk); } } } Java 8로 실행하면 다음이 …
78 java  regex  unicode  java-8  java-9 

3
람다를 비교하는 방법이 있습니까?
람다 식 (클로저)을 사용하여 정의 된 객체 목록이 있다고 가정 해 보겠습니다. 비교할 수 있도록 검사하는 방법이 있습니까? 내가 가장 관심있는 코드는 List<Strategy> strategies = getStrategies(); Strategy a = (Strategy) this::a; if (strategies.contains(a)) { // ... 전체 코드는 import java.util.Arrays; import java.util.List; public class ClosureEqualsMain { interface Strategy { void …
78 java  lambda  java-8 

9
Java 8을 사용한 모나드
모나드가 무엇인지 이해하는 데 도움이되도록 누군가 java를 사용하여 예제를 제공 할 수 있습니까? 가능합니까? 여기 http://jdk8.java.net/lambda/ 에서 시험판 람다 호환 JDK8을 다운로드하면 java를 사용하여 람다 식을 사용할 수 있습니다. 이 JDK를 사용하는 람다의 예가 아래에 나와 있습니다. 누군가 비교적 간단한 모나드를 제공 할 수 있습니까? public interface TransformService { int[] …
78 java  java-8  monads  optional 

3
Java-8에서 여러 예외 잡기
멀티 캐치 기능을 시험해 보면서 내 m1()방법에서 모든 것이 예상대로 잘 작동합니다. 그러나 m2()동일한 코드 에서 컴파일되지 않습니다. 코드 줄 수를 줄이기 위해 구문을 변경했습니다. public class Main { public int m1(boolean bool) { try { if (bool) { throw new Excep1(); } throw new Excep2(); //This m1() is compiling …


6
자신을 요소로 포함하는 ArrayList의 해시 코드
자체를 포함 hashcode하는의 list를 찾을 수 있습니까 element? 나는 이것이 나쁜 습관이라는 것을 알고 있지만 이것은 면접관이 요구 한 것입니다. 다음 코드를 실행하면 다음이 발생합니다 StackOverflowError. public class Main { public static void main(String args[]) { ArrayList<ArrayList> a = new ArrayList(); a.add(a); a.hashCode(); } } 이제 두 가지 질문이 있습니다. …

5
해시 맵의 해시 맵을 초기화하는 코드 반복을 피하려면 어떻게해야합니까?
모든 고객은 날짜별로 인보이스의 해시 맵으로 ID와 고객의 해시 맵으로 저장된 날짜와 함께 많은 송장을 가지고 있습니다. HashMap<LocalDateTime, Invoice> allInvoices = allInvoicesAllClients.get(id); if(allInvoices!=null){ allInvoices.put(date, invoice); //<---REPEATED CODE }else{ allInvoices = new HashMap<>(); allInvoices.put(date, invoice); //<---REPEATED CODE allInvoicesAllClients.put(id, allInvoices); } Java 솔루션은 다음을 사용하는 것 같습니다 getOrDefault. HashMap<LocalDateTime, Invoice> allInvoices = …
27 java  java-8  hashmap 

1
커스텀 비교기를 사용하여 TreeSet에서 제거하지 않는 이유는 무엇입니까?
Java 8과 Java 11을 모두 사용 TreeSet하여 String::compareToIgnoreCase비교기를 사용 하여 다음 을 고려하십시오 . final Set<String> languages = new TreeSet<>(String::compareToIgnoreCase); languages.add("java"); languages.add("c++"); languages.add("python"); System.out.println(languages); // [c++, java, python] 에있는 정확한 요소를 제거하려고 TreeSet하면 작동합니다. 지정된 모든 요소 가 제거됩니다. languages.removeAll(Arrays.asList("PYTHON", "C++")); System.out.println(languages); // [java] 내가 대신 제거하려고하는 경우에는 더 에 …

7
Java 8에서 블로킹 백그라운드 로더를 작성하는 방법은 무엇입니까?
질문 Java 8에서 적절한 백그라운드 로더를 어떻게 작성합니까? 조항들: 백그라운드에서 데이터를로드해야합니다 로드 후 데이터가 표시되어야합니다 데이터가로드되는 동안 더 이상 요청을 수락하지 않아야합니다. 데이터가로드되는 동안 요청이있는 경우 특정 시간 초과 (예 : 5 초) 후에 다른로드를 예약해야합니다. 예를 들어 다시로드 요청을 수락하지만 요청으로 데이터베이스가 넘치지 않도록하는 것입니다. MCVE 여기 MCVE가 있습니다. …

3
매개 변수에서 Java 유형 승격
나는이 발췌 문장을 우연히 발견했다. public class ParamTest { public static void printSum(int a, double b) { System.out.println("In intDBL " + (a + b)); } public static void printSum(long a, long b) { System.out.println("In long " + (a + b)); } public static void printSum(double a, long b) { System.out.println("In …

2
숫자가 0 일 때 스트림으로 limit (number) 호출을 건너 뛰려면 어떻게해야합니까?
에서 객체를 제공하는 Java 코드가 있습니다 items. 다음을 기반으로 제한합니다 maxNumber. items.stream() .map(this::myMapper) .filter(item -> item != null) .limit(maxNumber) .collect(Collectors.toList()); 제대로 작동하지만 문제는 다음과 같습니다. 제한 시간을 건너 뛸 수있는 방법이 maxNumber == 0있습니까? 나는 이것을 할 수 있다는 것을 안다. if (maxNumber == 0) { items.stream() .map(this::myMapper) .filter(item -> …


2
화살표 (->) 연산자 우선 순위 / 우선 순위가 가장 낮거나 지정 / 결합 된 우선 순위가 가장 낮습니까?
JLS : - (>)는 낮은 우선 운영자는 람다 식의 화살표이고 , 다음 할당 사업자. 어느 방향 (우선 순위 증가, 우선 순위 감소)을 따랐습니까? - "팔로우"는 할당이 우선 순위가 높거나 우선 순위가 낮다는 것을 의미합니다 (화살표 연산자와 관련하여)? "가장 낮은"(화살표의 경우)은 절대적으로 가장 낮기 때문에 증가하고 있다고 생각합니다. 내가 이해하는 것처럼 …


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