Java

[JAVA] 자바7 자바8 차이

봉주니 2021. 2. 24. 16:35

Java7


String in Switch

Swtich문 내에서 문자열 사용이 가능

Type Inference

제네릭 타입 파라미터를 선언과 생성시에 중복해서 써줘야 했지만 이제는 그럴 필요 없음

 

//Before Jdk 7
List<Integer> primes = new ArrayList<Integer>();

//Jdk7
List<Integer> primes = new ArrayList<>();

Underscore in Numberic literal

실수, 정수형에 ‘_’ 문자열을 사용할수있음

int money = 1_000;
int moneymoney = 100_000;

Catching Multiple Exception Type in Single Catch Block

단일 catche 블록에서 여러개의 예외처리(Exception) 가능

NIO 2.0 패키지

새로운 Garbage Collector 추가

 

Java8


Lambda Expression

하나의 메소드를 식으로 표현

Runnable oldRunner = new Runnable(){
    public void run(){
        System.out.println("I am running");
    }
};

Runnable java8Runner = () ->{
    System.out.println("I am running");
};

Stream API

배열이나 컬렉션에 저장된 데이터에 접근하기 위해 반복문이나 반복자를 사용해야 했으나 스트림 API를사용하면 컬렉션, 데이터 모두 같은 방법으로 다룰수있음

java.time package

JDK1.1 부터 제공된 Calendar 클래스의 문제점을 해결

  • Calendar 클래스의 문제점
    • 불변객체가 아니라서 값이 수정될수있음
    • 윤초 고려 안함 월을 나타낼때 1~12월이 아닌 0~11월로 표현해야함

Nashorn

자바스크립트의 기본엔진인 모질라 Rhino를 사용했지만 자바의 최신 개선 사항을 활용하지 못함에 따라 새로운 엔진인 Nashron 도입

반응형