728x90
반응형

java-8 9

Mac에 Java 8을 설치하는 방법

질문 : Mac에 Java 8을 설치하는 방법 편집자 주 :이 질문은 2014 년에 제기되었으며 답변이 오래되었을 수 있습니다. Java 8이 필요한 최신 JavaFX로 프로그래밍을하고 싶습니다. IntelliJ 13 CE 및 Mac OS X 9 Mavericks를 사용하고 있습니다. Oracle의 Java 8 설치 프로그램을 실행했는데 파일이 /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk 그러나 이전 버전은 /System/Library/Java/JavaFrameworks/jdk1.6.... /System/Library 대신 /Library 넣는 이유가 무엇인지 확실하지 않습니다 (또는 차이점이 무엇인지). 그러나 /usr/libexec/java_home 은 1..

java.util.Date를 java.time.LocalDate로 변환하는 방법

질문 : java.util.Date를 java.time.LocalDate로 변환 java.util.Date 객체를 새로운 JDK 8 / JSR-310 java.time.LocalDate 로 변환하는 가장 좋은 방법은 무엇입니까? Date input = new Date(); LocalDate date = ??? 답변 짧은 답변 Date input = new Date(); LocalDate date = input.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); 설명 이름에도 불구하고 java.util.Date 는 "날짜"가 아니라 타임 라인의 순간을 나타냅니다. 객체 내에 저장된 실제 데이터는 1970-01-01T00 : 00Z (1970 년 GMT /..

java.time.LocalDateTime과 java.util.Date 간 변환

질문 : java.time.LocalDateTime과 java.util.Date 간 변환 Java 8에는 날짜 및 시간에 대한 완전히 새로운 API가 있습니다. 이 API에서 가장 유용한 클래스 중 하나는 시간대와 무관 한 날짜-시간 값을 보유하기위한 LocalDateTime java.util.Date 를 사용하는 코드는 수백만 줄이 될 것입니다. 따라서 이전 코드와 새 코드를 연결할 때 둘 사이를 변환해야합니다. 이를 달성하기위한 직접적인 방법이없는 것처럼 보이지만 어떻게 할 수 있습니까? 답변 짧은 답변: Date in = new Date(); LocalDateTime ldt = LocalDateTime.ofInstant(in.toInstant(), ZoneId.systemDefault()); Dat..

속성 별 Java 8 구별

질문 : 속성 별 Java 8 구별 Java 8에서 각 객체의 속성의 구별 성을 확인하여 Stream API를 사용하여 컬렉션을 필터링하려면 어떻게해야합니까? 예를 들어, Person 개체 목록이 있고 같은 이름을 가진 사람들을 제거하고 싶습니다. persons.stream().distinct(); Person 객체에 대해 기본 동등성 검사를 사용하므로 다음과 같은 것이 필요합니다. persons.stream().distinct(p -> p.getName()); 불행히도 distinct() 메서드에는 이러한 오버로드가 없습니다. Person 클래스 내에서 동등성 검사를 수정하지 않고 이것을 간결하게 할 수 있습니까? 답변 상태 저장 필터로 distinct 것을 고려하십시오. 다음은 이전에 본 내용에 대한..

Java 8 스트림을 배열로 변환하는 방법

질문 : Java 8 스트림을 어레이로 변환하는 방법은 무엇입니까? Stream 을 배열로 변환하는 가장 쉽고 짧은 방법은 무엇입니까? 답변 가장 쉬운 방법은 toArray(IntFunction generator) 메서드를 사용하는 것입니다. 이것은 메소드에 대한 API 문서 에서 제안됩니다. String[] stringArray = stringStream.toArray(String[]::new); 그것이하는 일은 정수 (크기)를 인자로 받고 String[] new String[] 의 오버로드 중 하나입니다. IntFunction 작성할 수도 있습니다. Stream stringStream = ...; String[] stringArray = stringStream.toArray(size -> new St..

오류 : java: javacTask: source release 8 requires target release 1.8

질문 : 오류 : java : javacTask : 소스 릴리스 8에는 대상 릴리스 1.8이 필요합니다. IntelliJ IDE를 사용하면 프로젝트를 컴파일 할 수 없습니다. 아래 설정 스크린 샷 : 중고 JDK : 프로젝트 SDK 및 언어 수준 : 언어 수준 : 아무도 아이디어가 있습니까? 답변 Maven을 사용하는 경우 project 노드 아래의 pom.xml 에 컴파일러 플러그인을 추가합니다. org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 (댓글에서 게양.) 참고 : 프로젝트를 다시 가져 오는 것이 마음에 들지 않는다면 실제로해야 할 일은 pom을 변경하고 프로젝트를 다시 가져 오는 것뿐입니다. 그러면 IntelliJ가 올바른 설정을 선택하므로 수..

Java 8에서 map ()과 flatMap () 메소드의 차이점

질문 : Java 8에서 map ()과 flatMap () 메소드의 차이점은 무엇입니까? Stream.map() 과 Stream.flatMap() 메서드의 차이점은 무엇입니까? 답변 map 과 flatMap 은 모두 Stream 적용될 수 있으며 둘 다 Stream 반환합니다. 차이점은 map 작업은 각 입력 값에 대해 하나의 출력 값을 flatMap 작업은 각 입력 값에 대해 임의의 숫자 (0 개 이상의) 값을 생성한다는 것입니다. 이는 각 작업에 대한 인수에 반영됩니다. map 작업은 입력 스트림의 각 값에 대해 호출되고 하나의 결과 값을 생성 Function flatMap 작업은 개념적으로 하나의 값을 사용하고 임의의 수의 값을 생성하려는 함수를 사용합니다. 그러나 Java에서는 메서드가 0 또는 ..

iterator를 스트림으로 변환하는 방법

질문 : 반복기를 스트림으로 변환하는 방법은 무엇입니까? Iterator 를 Stream 으로 변환하거나보다 구체적으로 iterator를 스트림으로 "보기"하는 간결한 방법을 찾고 있습니다. 성능상의 이유로 새 목록에서 반복자의 복사본을 피하고 싶습니다. Iterator sourceIterator = Arrays.asList("A", "B", "C").iterator(); Collection copyList = new ArrayList(); sourceIterator.forEachRemaining(copyList::add); Stream targetStream = copyList.stream(); 의견의 몇 가지 제안을 기반으로 Stream.generate 를 사용하려고 시도했습니다. public sta..

개발관련/other 2021.08.28

자바 8 List<V>를 Map<K, V>로 변환 하는 방법

질문 : 자바 8 목록 지도로 Java 8의 스트림과 람다를 사용하여 객체 목록을 맵으로 변환하고 싶습니다. 이것이 Java 7 이하에서 작성하는 방법입니다. private Map nameMap(List choices) { final Map hashMap = new HashMap(); for (final Choice choice : choices) { hashMap.put(choice.getName(), choice); } return hashMap; } Java 8과 Guava를 사용하여 쉽게 수행 할 수 있지만 Guava없이 수행하는 방법을 알고 싶습니다. 구아바 : private Map nameMap(List choices) { return Maps.uniqueIndex(choices, new Fu..

728x90
반응형