Java7의 달라진점은 크게 5가지로 정리할수 있다.


 1) Java String Switch

 2) 이진 표현과 _ 추가

 3) Multi-Exception Catch 향상된 예외처리

 4) Diamond Operator 

 5) Auto Closable 향상된 자원관리


  1. public class Ex1 {
  2.         public static void main(String... args) {
  3.                 // 1)
  4.                 int n = 10;
  5.                 switch (n) { // 이전 - int, enum 만 사용 가능
  6.                 case 1:
  7.                 case 2:
  8.                 }
  9.                 String s = "안녕";
  10.                 switch (s) { // java7 이후. String 도 사용 가능.
  11.                 case "안녕":
  12.                 case "hello":
  13.                 }
  14.  
  15.                 // 2)
  16.                 long old_l = 100000; // 실생활 1,000,000
  17.                 long new_l = 1_000_000; // 컴파일러에 의해 무시되지만 가독성이 증가
  18.                 int b_n = 0b1, b_2 = 0b10, b_3 = 0b1111_1010_1111; // 2진수 표현
  19.                
  20.                
  21.                 // 3)
  22.                 try {
  23.                         foo(n);
  24.                 } catch (ExceptionOne | ExceptionTwo | ExceptionThree e) { // 동일한 예외는 묶어서 관리한다.
  25.                         e.printStackTrace();
  26.                 }
  27.                
  28.                 // 4)
  29.                 List<Long> list = new ArrayList<>();
  30.                 list.add(old_l);
  31.                 list.add(new_l);
  32.                 list.add((long) b_n);
  33.                 list.add((long) b_2);
  34.                 list.add((long) b_3);
  35. //              list.addAll(Arrays.asList(old_l,new_l,b_n,b_2,b_3));
  36.                
  37.                 // 5)
  38.                 try(FileOutputStream fos = new FileOutputStream("test.txt"); // AutoClosable C# 에서 사용되는 기능
  39.                                 DataOutputStream dos = new DataOutputStream(fos)) {
  40.                         dos.writeUTF("xxx");
  41.                        
  42.                 } catch (IOException e) {
  43.                        
  44.                 } catch (Exception e) {
  45.                        
  46.                 }
  47.                
  48.                
  49.                
  50.  
  51.         }
  52.  
  53.         static void foo(int n) throws ExceptionOne, ExceptionTwo, ExceptionThree {
  54.                 if (== 0)
  55.                         throw new ExceptionOne();
  56.                 if (== 1)
  57.                         throw new ExceptionTwo();
  58.                 if (== 2)
  59.                         throw new ExceptionThree();
  60.  
  61.         }
  62. }
  63.  
  64. class ExceptionOne extends Exception {
  65.         private static final long serialVersionUID = -5677634028059042523L;
  66.  
  67. }
  68.  
  69. class ExceptionTwo extends Exception {
  70.         private static final long serialVersionUID = -6269740256108905025L;
  71.  
  72. }
  73.  
  74. class ExceptionThree extends Exception {
  75.         private static final long serialVersionUID = -8353059137079175265L;
  76. }


'java' 카테고리의 다른 글

Java 8 신기능 정리 - Method Reference, Construct Reference  (0) 2014.07.02
Java 8 신기능 정리 - Lambda Expression  (0) 2014.07.01
Java 7 try catch 문법. autocloseable  (0) 2014.06.20
코드 품질 관리  (0) 2014.04.17
Java Apn 샘플코드  (0) 2014.04.14

+ Recent posts