«java-8» 태그된 질문

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

9
Java SE 8에 페어 또는 튜플이 있습니까?
Java SE 8에서 게으른 기능 연산으로 놀고 있으며 두 번째 요소 를 기반으로 한 쌍 / 튜플에 map색인 i을 만들고 마지막으로 색인 만 출력 하려고합니다 .(i, value[i])filtervalue[i] 여전히이 문제를 겪어야 합니까? Java에서 C ++ Pair <L, R>에 해당하는 것은 무엇입니까? 람다와 개울의 대담한 새로운 시대에? 업데이트 : 나는 아래 답변 …

3
람다 식은 실행될 때마다 힙에 객체를 생성합니까?
Java 8의 새로운 구문 설탕을 사용하여 컬렉션을 반복 할 때 myStream.forEach(item -> { // do something useful }); 이것은 아래의 '구문 구문'스 니펫과 같지 않습니까? myStream.forEach(new Consumer<Item>() { @Override public void accept(Item item) { // do something useful } }); 이것은 Consumer컬렉션을 반복 할 때마다 힙에 새로운 익명 객체가 생성 …
182 java  lambda  java-8 

9
Java8 람다를 사용하여 스트림을 역순으로 정렬하는 방법은 무엇입니까?
Java 람다를 사용하여 목록을 정렬하고 있습니다. 역순으로 정렬하려면 어떻게해야합니까? 이 게시물 을 보았지만 Java 8 람다를 사용하고 싶습니다. 다음은 내 코드입니다 (* -1을 사용했습니다). Arrays.asList(files).stream() .filter(file -> isNameLikeBaseLine(file, baseLineFile.getName())) .sorted(new Comparator<File>() { public int compare(File o1, File o2) { int answer; if (o1.lastModified() == o2.lastModified()) { answer = 0; } …

4
표준 Kotlin 라이브러리에서 사용할 수있는 Java 8 Stream.collect는 무엇입니까?
Java 8에는 Stream.collect컬렉션에 대한 집계가 가능합니다. Kotlin에서는 stdlib의 확장 함수 모음 이외의 다른 방식으로 존재하지 않습니다. 그러나 다른 사용 사례에 해당하는 것이 무엇인지는 확실하지 않습니다. 예를 들어 JavaDocCollectors 의 맨 위에는 Java 8 용으로 작성된 예제가 있으며이를 Kolin으로 이식 할 때 다른 JDK 버전에서는 Java 8 클래스를 사용할 수 없으므로 …

5
스트림을 사용하여 BigDecimals 추가
BigDecimals 모음이 있습니다 (이 예에서는 LinkedList함께 추가하려는 ) 있습니다. 이를 위해 스트림을 사용할 수 있습니까? Stream수업에 몇 가지 방법이 있다는 것을 알았습니다. Stream::mapToInt Stream::mapToDouble Stream::mapToLong 각각 편리한 sum()방법이 있습니다. 우리가 알다시피하지만, float및 double연산은 거의 항상 나쁜 생각이다. BigDecimals를 요약하는 편리한 방법이 있습니까? 이것은 지금까지 가지고있는 코드입니다. public static void main(String[] …

7
Java 8 : 스트림에서 예외 발생 메소드를 사용하려면 어떻게해야합니까?
클래스와 메소드가 있다고 가정하십시오. class A { void foo() throws Exception() { ... } } 이제 다음과 같은 A스트림 으로 전달되는 각 인스턴스에 대해 foo를 호출 하고 싶습니다. void bar() throws Exception { Stream<A> as = ... as.forEach(a -> a.foo()); } 질문 : 예외를 올바르게 처리하려면 어떻게해야합니까? foo ()에서 발생할 …


2
일반 반환 유형 상한-인터페이스와 클래스-놀랍도록 유효한 코드
이것은 타사 라이브러리 API의 실제 예이지만 단순화되었습니다. Oracle JDK 8u72로 컴파일 다음 두 가지 방법을 고려하십시오. <X extends CharSequence> X getCharSequence() { return (X) "hello"; } <X extends String> X getString() { return (X) "hello"; } 둘 다 "체크되지 않은 캐스트"경고를보고합니다. 이유가 있습니다. 나를 방해하는 것은 왜 전화 할 수 …
171 java  generics  java-8 

6
Java 8 스트림 API에서 계산하여 그룹화
Java 8 스트림 API에서 그룹화를 수행하는 간단한 방법을 찾으려고 노력합니다.이 복잡한 방법으로 나옵니다! List<String> list = new ArrayList<>(); list.add("Hello"); list.add("Hello"); list.add("World"); Map<String, List<String>> collect = list.stream().collect( Collectors.groupingBy(o -> o)); System.out.println(collect); List<String[]> collect2 = collect .entrySet() .stream() .map(e -> new String[] { e.getKey(), String.valueOf(e.getValue().size()) }) .collect(Collectors.toList()); collect2.forEach(o -> System.out.println(o[0] + " …

5
화살표 연산자 '->'는 Java에서 무엇을합니까?
일부 코드를 통해 사냥하는 동안 화살표 연산자를 발견했습니다. 정확히 무엇을합니까? Java에는 화살표 연산자가 없다고 생각했습니다. return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> { return Car.SEDAN == ((Car)arg0).getStyle(); }); 세부 정보 : Java 6, Apache Commons Collection, IntelliJ 12 업데이트 / 답변 : IntelliJ 12는 람다를 지원하고 술어를 "폴딩"하고 람다로 표시하는 Java 8을 …

15
Java 8 : Lambda-Streams, 예외가있는 메소드 별 필터링
Java 8의 Lambda 표현식을 시도하는 데 문제가 있습니다. 일반적으로 정상적으로 작동하지만 이제는 throw하는 메소드가 IOException있습니다. 다음 코드를 살펴 보는 것이 가장 좋습니다. class Bank{ .... public Set<String> getActiveAccountNumbers() throws IOException { Stream<Account> s = accounts.values().stream(); s = s.filter(a -> a.isActive()); Stream<String> ss = s.map(a -> a.getNumber()); return ss.collect(Collectors.toSet()); } .... …

8
Intellij-최신 Java 8 클래스를 사용할 수 없음-오류 :“@since 1.6 이상으로 문서화 된 API 사용 ..”
java.lang.function.FunctionJava 8 코드베이스에서 를 사용하려고하는데 Intellij에서 다음과 같은 오류가 계속 발생합니다. @since 1.6 이상으로 문서화 된 API 사용법이 검사는 문서에 @since 태그가있는 모든 메소드 사용법을 찾습니다. 새로운 SDK 버전에서 개발 대상 플랫폼으로 개발할 때 유용 할 수 있습니다. 프로젝트 및 컴파일러 설정이 올바른 것 같습니다 프로젝트 설정 : (파일-> 프로젝트 …

8
두 개의 Java 8 스트림 또는 추가 요소를 스트림에 추가
다음과 같이 스트림이나 추가 요소를 추가 할 수 있습니다. Stream stream = Stream.concat(stream1, Stream.concat(stream2, Stream.of(element)); 다음과 같이 새로운 것을 추가 할 수 있습니다. Stream stream = Stream.concat( Stream.concat( stream1.filter(x -> x!=0), stream2) .filter(x -> x!=1), Stream.of(element)) .filter(x -> x!=2); 그러나 concat정적 이기 때문에 이것은 추악 합니다. concat인스턴스 방법 이라면 위의 …


9
컬렉션이나 스트림을 반환해야하나요?
읽기 전용 뷰를 멤버 목록으로 리턴하는 메소드가 있다고 가정하십시오. class Team { private List < Player > players = new ArrayList < > (); // ... public List < Player > getPlayers() { return Collections.unmodifiableList(players); } } 또한 모든 클라이언트가 즉시 목록을 한 번 반복한다고 가정하십시오. 플레이어를 JList 또는 다른 …

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