Java/버전별 변화(10)
-
Java 13
미리 보는 변화 Switch문 개편 @Test @SuppressWarnings("preview") public void whenSwitchingOnOperationSquareMe_thenWillReturnSquare() { var me = 4; var operation = "squareMe"; var result = switch (operation) { case "doubleMe" -> { yield me * 2; } case "squareMe" -> { yield me * me; } default -> me; }; assertEquals(16, result); } Text Block 기존에는 여러 줄에 걸쳐진 문자열을 표현할 때는 \r, \n과 같은 형태로 구현해야 했습니다. 그러나 text block..
2021.09.19 -
Java 12
미리보는 변화 switch 문 개편 이전 버전 DayOfWeek dayOfWeek = LocalDate.now().getDayOfWeek(); String typeOfDay = ""; switch (dayOfWeek) { case MONDAY: case TUESDAY: case WEDNESDAY: case THURSDAY: case FRIDAY: typeOfDay = "Working Day"; break; case SATURDAY: case SUNDAY: typeOfDay = "Day Off"; } 새 버전 typeOfDay = switch (dayOfWeek) { case MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY -> "Working Day"; case SATUR..
2021.09.06 -
Java 10
추가된 기능 로컬 변수 타입 추론 로컬 변수 var를 이용함으로서 컴파일러에게 타입을 추론할 수 있게 되었습니다. public void test() { var message = "Hello, Java 10"; assertTrue(message instance of String); } 로컬 변수 타입 추론은 지역 변수를 초기화하며 선언할 때만 사용할 수 있습니다. var의 잘못된 예시 var n; // var는 초기화 없이 사용할 수 없습니다. var emptyList = null; // 변수 초기화를 null로 할 수 없습니다. var p = (String s) -> s.length() > 10; // 람다 표현식은 명확한 타입 추론을 하기 힘들기 때문에 사용할 수 없습니다. var arr = {1, 2..
2021.08.10 -
JAVA 9
불변 Collection 생성 메소드 제공 정적인 Collection 객체를 생성할 수 있는 팩토리 메소드를 제공합니다. List immutableList = List.of("one","two","three"); Set immutableSet = Set.of("one","two","three"); Map immutableMap = Map.of(1,"one",2,"two",3,"three");Java 9 Module System Java Module 시스템을 이용해 안정적인 구성과 강력하고 유연한 캡슐화를 제공합니다. 이를 통해 개발자는 확장 가능한 플랫폼을 만들고 플랫폼 무결성을 높이며 성능을 향상시킬 수 있습니다. 편하고 효율적인 Java 개발 환경을 만들기 위해서 개발 Jar 기반 모노리틱 방식을 개..
2020.09.06