Java7新特性

二進位字面量

jdk7開始,終於可以用二進位來表示整數(byte,short,int和long)。
使用二進位字面量的好處是,可以使程式碼更容易被理解。語法非常簡單,
只要在二進位數值前面加0b或0B
舉例:int x=0B110110

數字字面量可以出現下劃線

為了增強對數值的閱讀性,如我們經常把數據用逗號分隔一樣,JK7提供了_對數值分隔。
舉例:int x=1_000;
注意事件:
    不能出現在進位標識和數值之間
    不能出現在數值開頭和結尾
    不能出現在小數點旁邊

switch語句可以用字元串

	String value="呂世昊";
	switch (value) {
		case "呂世昊":
			System.out.println("嗯嗯他是人才");
			break;
		default:
			System.out.println("嗯嗯他是不人才");
			break;
	}

泛型簡化

	//後面的泛型類型可以不需要寫,這叫泛型推斷,也可以叫菱形泛型
	ArrayList<String> arrayList=new ArrayList<>();

異常的多個catch合併

Java 7之前的版本:
如果用一個catch塊處理多個異常,可以用管道符(|)將它們分開,在這種情況下異常參數變數(ex)是定義為final的,所以不能被修改。這一特性將生成更少的位元組碼並減少程式碼冗餘。
Java 7之前的版本:
	catch (IOException ex) {
		logger.error(ex);
 		throw new MyException(ex.getMessage());
	catch (SQLException ex) {
		 logger.error(ex);
		 throw new MyException(ex.getMessage());
	}catch (Exception ex) {
		 logger.error(ex);
		 throw new MyException(ex.getMessage());
	}
在Java 7中,我們可以用一個catch塊捕獲所有這些異常:
	catch(IOException | SQLException | Exception ex){
		 logger.error(ex);
		 throw new MyException(ex.getMessage());
	}

try-with-resources語句

格式:try(必須是java.lang.AutoCloseable的子類對象){...}
好處:
	資源自動釋放,不需要close()了
	把需要關閉資源的部分都定義在這裡就ok了
	主要是沉體系的對象是這個介面的子類(看JDK7的API)

/**
* 個性簽名:今天的努力只要對得起自己就滿足了
* 創建人:呂世昊  
* 創建時間:2019年3月22日 下午1:48:41   
* @version
 */
public class Test3 implements AutoCloseable{
	public static void main(String[] args)  {
		//1.7之後,只要實現了AutoCloseable介面
		try(Test3 test=new Test3()){
		System.out.println("--執行main方法--");
		System.out.println(1/0);
		}catch (Exception e) {
		System.out.println("--exception--");
		}
		System.out.println("-------------------");
		//JDK1.7之前,釋放資源方式
		try {
		System.out.println("--執行main方法--");
		System.out.println(1/0);
		} catch (Exception e) {
		System.out.println("--exception--");
		}finally {
		System.out.println("--close--");
		}
	}

	@Override
	public void close() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("close");
	}
}