목록프로그래밍/JAVA (5)
더 나은 내일의 내가 되자!
메소드 실행이 끝날때마다 실행되는 메소드입니다. Junit 테스트를 하다면 메소드의 실행 순서가 보장되지 않기 때문에 값 중복등의 이유로 에러가 날 수 있습니다. 그것을 방지하기위해서 이용할 수 있습니다. @AfterEach public void afterEach() {\ // 실제로는 테스트 실행전에 트랜잭션을 걸고, 트랜잭션을 롤백하는 방식으로 데이터를 복구합니다. repository.clearStore(); // 데이터 초기화 }
람다식이 하나의 메소드만 호출하는 경우, 메소드 참조를 통해 람다식을 간략히 할 수 있습니다. 클래스명::메소드명 or 참조변수::메소드명 // 기존 Function f = (String s) -> Integer.parseInt(s); // 메소드 참조 Funcation f = Integer::parseInt; 생성자를 호출하는 람다식도 메소드 참조로 변환 가능 Supplier s = () -> new MyClass(); // 람다식 Supplier s = MyClass::new; // 메소드 참조 배열 생성할 경우 Function f = x -> new int[x]; // 람다식 Function f2 = int[]::new; // 메소드 참조
자바 8부터 NPE(NullPointerException) 처리의 가독성을 위해 생겼습니다. Optional이란? 존재할수도 있지만 안할 수도 있는 객체, null이 될 수도 있는 객체를 감싸고 있는 일종의 래퍼 클래스이다 Optional의 효과 명시적으로 해당 변수가 null일 수도 있다는 가능성을 표현할 수 있다 NPE를 유발할 수 있는 null을 직접 다루지 않는다 null체크를 직접 하지 않는다 Optional사용법 // 선언 Optional optMbr; // null을 담고 있는 Optional 객체 Optional optMbr = Optional.empty(); // null이 아닌 객체를 담고 있는 Optional 객체를 생성 // null이 넘어올 경우, NPE를 던지기 때문에 주의해서 ..
스트림은 자바8부터 추가된 컬렉션의 저장 요소를 람다식으로 처리할 수 있도록 해주는 반복자입니다. (for문 대체) 특징 재사용 불가 stream()대신 parallelStream()으로 병렬스트림 사용 가능 중개 연산은 지연 연산된다 스트림 형태 : 컬렉션.스트림생성().중개연산().최종연산(); 컬렉션.스트림생성().중개연산A().중개연산B().최종연산();의 경우 최종연산에서 중개연산A, 중개연산B가 실행된다 List str = Arrays.asList("a", "b", "c", "d"); str.stream() .filter(x -> x.contains("b")); //a, c, d
자바8 사용 이유 9버전 이상부터는 상업적 이용이 유료이기 때문에. 자바설치 확인 Win + R 단축키를 사용해 실행창 실행. 실행창에서 cmd창 실행 java -version을 입력해 현재버전 확인 (현재 포맷을 한 상태이기 때문에 아무것도 깔려있지 않습니다.) 자바 8 설치 자바 8 다운로드 링크로 가서 아래로 스크롤해보면 윈도우 버전이 있습니다. (윈도우가 32비트면 x86, 64비트면 x64) exe 파일을 실행합니다. 계속 next 버튼을 누르면 완료됩니다. 자바 환경변수 설정 Win + Pause 단축키를 사용해 시스템 창을 띄웁니다. (Pause 키는 보통 방향키 맨위 오른쪽에 있습니다.) 고급 시스템 설정 클릭 고급탭의 환경변수를 클릭 환경변수 창에서 원하는 곳의 새로 만들기를 눌러 JAV..