프로그래밍/JAVA&J2EE

java 7 변화된 점

모지사바하 2012. 4. 5. 11:40

1. Null의 체크
기존 null 체크 소스 

  1. public String getPostcode(Person person)  
  2. {  
  3. if (person != null)  
  4. {  
  5. Address address = person.getAddress();  
  6. if (address != null)  
  7. {  
  8. return address.getPostcode();  
  9. }}  
  10. return null;  
  11. }  
java 7의 소스 

  1. public String getPostcode(Person person)  
  2. {  
  3. return person?.getAddress()?.getPostcode();  
  4. }  


2. String 으로 switch case 문을 판단가능 
java 7의 case 문 
  1. String value = "test";  
  2.   
  3. switch(value){  
  4. case "test":  
  5. System.out.println("test");  
  6. break;  
  7. default:  
  8. break;  
  9. }  


3. Exception 모음기능 
java 7의 소스 
  1. try  
  2. {  
  3. block of statments  
  4. }  
  5. catch(Exception1|Exception2|Exception3...)  
  6. {  
  7. block of statements.  
  8. }  
4. <>의 간략화 
java 7의 소스 
  1. Map<String,List<Trade>> trades = new TreeMap<>();  


5. 숫자표현(2진수는 0b가 붙음) java 7의 소스 
  1. int value1 = 0x00_00_ff;  
  2. int value2 = 0b1111_1111;  
  3. int value3 = 12_345;  


6.try-catch 자원관리
java 7의 소스 
  1. try(FileInputStream in = new FileInputStream("a.txt")){  
  2. System.out.println("reader : "+in.read());  
  3. }catch(final NullPointException | IOException ex){  
  4. System.out.println(ex.toString());  
  5. }  
해당 코드는 try구문이 끝나면 자동으로 해당 변수에 대한 close를 호출한다. 자동으로 회수되어져야 하는 자원들은 내부적으로 java.lang.AutoCloseable 인터페이스를 구현해야 한다. 구현한 close 메소드는 try블럭을 나왔을때 JVM에 의해 자동적으로 호출된다. 

7.새로운 파일시스템 nio 2.0의 추가 File Change Notifications 기능이 있음. 

8.병렬 코어를 위한 Fork와 Join기능 

참조 싸이트
http://www.hanb.co.kr/network/view.html?bi_id=1780 (Nio 2.0, fork Join) 
http://metoojava.wordpress.com/2010/11/15/java-7-awesome-features/ 


출처 : http://jbluewing.tistory.com/121