«java-8» 태그된 질문

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

6
한 줄로 스트림 / 목록의 마지막 요소 가져 오기
다음 코드에서 스트림 또는 목록의 마지막 요소를 어떻게 얻을 수 있습니까? 어디 data.careasA는 List<CArea>: CArea first = data.careas.stream() .filter(c -> c.bbox.orientationHorizontal).findFirst().get(); CArea last = data.careas.stream() .filter(c -> c.bbox.orientationHorizontal) .collect(Collectors.toList()).; //how to? 보시다시피 첫 번째 요소를 얻는 filter것은 어렵지 않습니다. 그러나 한 줄의 마지막 요소를 얻는 것은 진정한 고통입니다. 에서 직접 …
118 java  list  java-8  java-stream 

3
새 날짜 시간 API를 사용하여 날짜 형식 지정
나는 새로운 날짜 시간 API를 가지고 놀았지만 이것을 실행할 때 : public class Test { public static void main(String[] args){ String dateFormatted = LocalDate.now() .format(DateTimeFormatter .ofPattern("yyyy-MM-dd HH:mm:ss")); System.out.println(dateFormatted); } } 던졌습니다 : Exception in thread "main" java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: HourOfDay at java.time.LocalDate.get0(LocalDate.java:680) at java.time.LocalDate.getLong(LocalDate.java:659) at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298) at java.time.format.DateTimeFormatterBuilder$NumberPrinterParser.format(DateTimeFormatterBuilder.java:2543) at java.time.format.DateTimeFormatterBuilder$CompositePrinterParser.format(DateTimeFormatterBuilder.java:2182) …

1
특성으로 Java 8 기본 방법 : 안전합니까?
Java 8에서 기본 메소드를 가난한 사람 버전의 특성 으로 사용하는 것이 안전한 방법 입니까? 어떤 사람들은 팬더 를 사용하면 팬더를 슬프게 할 수 있다고 주장합니다 . 왜냐하면 멋있기 때문입니다.하지만 그것은 내 의도가 아닙니다. 또한 API 진화 및 이전 버전과의 호환성을 지원하기 위해 기본 메서드가 도입되었다는 사실을 종종 상기시킵니다. 이는 사실이지만, …

4
새로운 computeIfAbsent 함수를 어떻게 사용합니까?
나는 Map.computeIfAbsent 를 사용하고 싶지만 학부에서 람다 이후로 너무 오래되었습니다. 문서에서 거의 직접 : 작업을 수행하는 이전 방법의 예를 제공합니다. Map<String, Boolean> whoLetDogsOut = new ConcurrentHashMap<>(); String key = "snoop"; if (whoLetDogsOut.get(key) == null) { Boolean isLetOut = tryToLetOut(key); if (isLetOut != null) map.putIfAbsent(key, isLetOut); } 그리고 새로운 방법 : …

11
람다 내부에서 지역 변수 수정
에서 지역 변수 수정 forEach 컴파일 오류가 발생합니다. 표준 int ordinal = 0; for (Example s : list) { s.setOrdinal(ordinal); ordinal++; } Lambda 사용 int ordinal = 0; list.forEach(s -> { s.setOrdinal(ordinal); ordinal++; }); 이 문제를 해결하는 방법을 아십니까?
115 java  lambda  java-8 

6
람다 식으로 stream (). map (…)을 디버깅하는 방법은 무엇입니까?
프로젝트에서 우리는 Java 8로 마이그레이션하고 있으며 새로운 기능을 테스트하고 있습니다. 내 프로젝트에서 Guava 술어와 함수를 사용하여 Collections2.transform및을 사용하여 일부 컬렉션을 필터링하고 변환 하고 Collections2.filter있습니다. 이 마이그레이션에서 예를 들어 구아바 코드를 Java 8 변경으로 변경해야합니다. 그래서 제가하고있는 변화는 다음과 같습니다. List<Integer> naturals = Lists.newArrayList(1,2,3,4,5,6,7,8,9,10,11,12,13); Function <Integer, Integer> duplicate = new Function<Integer, …
114 java  debugging  lambda  java-8 

2
람다 식 대 메서드 참조 [닫기]
닫힘 . 이 질문은 의견 기반 입니다. 현재 답변을 받고 있지 않습니다. 이 질문을 개선하고 싶으십니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 육년 전 . 이 질문 개선 IntelliJ는 람다 식을 메서드 참조로 대체하도록 계속 제안합니다. 둘 다 객관적인 차이가 있습니까?

4
자바 삼항 연산자 대 <JDK8 호환성의 if / else
최근에 저는 Spring Framework의 소스 코드를 읽고 있습니다. 내가 이해할 수없는 것이 여기에 있습니다. public Member getMember() { // NOTE: no ternary expression to retain JDK &lt;8 compatibility even when using // the JDK 8 compiler (potentially selecting java.lang.reflect.Executable // as common type, with that new base class not available …

7
Java 8 : java.util.function에서 TriFunction (및 kin)은 어디에 있습니까? 아니면 대안은 무엇입니까?
java.util.function.BiFunction이 표시되므로 다음과 같이 할 수 있습니다. BiFunction&lt;Integer, Integer, Integer&gt; f = (x, y) -&gt; { return 0; }; 충분하지 않고 TriFunction이 필요하면 어떻게합니까? 존재하지 않습니다! TriFunction&lt;Integer, Integer, Integer, Integer&gt; f = (x, y, z) -&gt; { return 0; }; 나는 내 자신의 TriFunction을 정의 할 수 있다는 것을 알고 …
113 java  lambda  java-8 

12
Spring Boot의 JSON Java 8 LocalDateTime 형식
Spring Boot Application에서 Java 8 LocalDateTime을 형식화하는 데 작은 문제가 있습니다. '정상'날짜에는 문제가 없지만 LocalDateTime 필드는 다음과 같이 변환됩니다. "startDate" : { "year" : 2010, "month" : "JANUARY", "dayOfMonth" : 1, "dayOfWeek" : "FRIDAY", "dayOfYear" : 1, "monthValue" : 1, "hour" : 2, "minute" : 2, "second" : 0, "nano" …

10
배열 / 문자열 목록을 배열 / 정수 목록으로 변환하는 람다 표현식
Java 8에는 강력한 람다식이 함께 제공되므로 List / array of Strings를 Array / List of Integers, Floats, Doubles 등으로 변환하는 함수를 작성하고 싶습니다. 일반 Java에서는 다음과 같이 간단합니다. for(String str : strList){ intList.add(Integer.valueOf(str)); } 그러나 문자열 배열을 정수 배열로 변환 할 때 람다를 사용하여 동일한 결과를 얻으려면 어떻게해야합니까?

2
Comparator.reversed ()는 람다를 사용하여 컴파일되지 않습니다.
일부 사용자 개체가있는 목록이 있고 목록을 정렬하려고하지만 메서드 참조를 사용하여 작동하며 람다 식을 사용하면 컴파일러에서 오류가 발생합니다. List&lt;User&gt; userList = Arrays.asList(u1, u2, u3); userList.sort(Comparator.comparing(u -&gt; u.getName())); // works userList.sort(Comparator.comparing(User::getName).reversed()); // works userList.sort(Comparator.comparing(u -&gt; u.getName()).reversed()); // Compiler error 오류: com\java8\collectionapi\CollectionTest.java:35: error: cannot find symbol userList.sort(Comparator.comparing(u -&gt; u.getName()).reversed()); ^ symbol: method getName() …

7
Java8 Lambda와 익명 클래스
Java8이 최근에 출시되었고 새로운 람다식이 정말 멋져 보이기 때문에 이것이 우리가 익숙했던 익명 클래스의 종말을 의미하는지 궁금합니다. 나는 이것에 대해 조금 연구 해 왔고 Lambda 표현식이 어떻게 분류를 수행하기 위해 Comparator의 익명 인스턴스를 가져 오는 데 사용되는 Collection의 정렬 방법과 같은 이러한 클래스를 체계적으로 대체하는지에 대한 멋진 예제를 찾았습니다. Collections.sort(personList, …

4
Lambda 식 및 일반 메서드
일반적인 인터페이스가 있다고 가정합니다. interface MyComparable&lt;T extends Comparable&lt;T&gt;&gt; { public int compare(T obj1, T obj2); } 그리고 방법 sort: public static &lt;T extends Comparable&lt;T&gt;&gt; void sort(List&lt;T&gt; list, MyComparable&lt;T&gt; comp) { // sort the list } 이 메서드를 호출하고 람다 식을 인수로 전달할 수 있습니다. List&lt;String&gt; list = Arrays.asList("a", "b", "c"); …
111 java  generics  lambda  java-8 

3
Java 8 split에서 때때로 결과 배열의 시작 부분에서 빈 문자열을 제거하는 이유는 무엇입니까?
Java 8 이전에는 다음 과 같이 빈 문자열로 분할 할 때 String[] tokens = "abc".split(""); 분할 메커니즘은 표시된 위치에서 분할됩니다. | |a|b|c| ""각 문자 앞뒤에 빈 공간 이 있기 때문 입니다. 따라서 결과적으로 처음에는이 배열이 생성됩니다. ["", "a", "b", "c", ""] 그리고 나중에 후행 빈 문자열 을 제거 하므로 ( …
110 java  regex  split  java-8 

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