java基礎第八篇之jdk1.五、jdk1.七、jdk1.8新特性

JDK5新特性java

 

自動裝箱和拆箱程序員

泛型設計模式

加強for循環安全

靜態導入架構

可變參數加密

枚舉設計

 

 

枚舉概述對象

是指將變量的值一一列出來,變量的值只限於列舉出來的值的範圍內。舉例:一週只有7天,一年只有12個月等。接口

回想單例設計模式:單例類是一個類只有一個實例ip

那麼多例類就是一個類有多個實例,但不是無限個數的實例,而是有限個數的實例。這才能是枚舉類

 

java就提供了枚舉類供咱們使用。

格式是:只有枚舉項的枚舉類

public enum 枚舉類名 {

枚舉項1,枚舉項2,枚舉項3…;

}

 

注意事項

定義枚舉類要用關鍵字enum

全部枚舉類都是Enum的子類

枚舉類的第一行上必須是枚舉項,最後一個枚舉項後的分號是能夠省略的,可是若是枚舉類有其餘的東西,這個分號就不能省略。建議不要省略

枚舉類能夠有構造器,但必須是private的,它默認的也是private的。枚舉項的用法比較特殊:枚舉(「」);

枚舉類也能夠有抽象方法,可是枚舉項必須重寫該方法

枚舉在switch語句中的使用

 

 

枚舉類中的幾個常見方法

 

int compareTo(E o)

String name()

int ordinal()

String toString()

<T> T valueOf(Class<T> type,String name)

values() 

此方法雖然在JDK文檔中查找不到,但每一個枚舉類都具備該方法,它遍歷枚舉類的全部枚舉值很是方便

 

 

JDK7新特性

 

二進制字面量

數字字面量能夠出現下劃線

switch 語句能夠用字符串

泛型簡化

異常的多個catch合併

try-with-resources 語句

 

 

二進制字面量

 

JDK7開始,終於能夠用二進制來表示整數(byte,short,int和long)。使用二進制字面量的好處是,可使代碼更容易被理解。語法很是簡單,只要在二進制數值前面加 0b或者0B

舉例:

int x = ob110110

 

數字字面量能夠出現下劃線

 

爲了加強對數值的閱讀性,如咱們常常把數據用逗號分隔同樣。JDK7提供了_對數據分隔。

舉例:

int x = 100_1000;

注意事項:

不能出如今進制標識和數值之間

不能出如今數值開頭和結尾

不能出如今小數點旁邊

 

try-with-resources 語句

 

格式:

try(必須是java.lang.AutoCloseable的子類對象){…}

好處:

資源自動釋放,不須要close()了

把須要關閉資源的部分都定義在這裏就ok了

主要是流體系的對象是這個接口的子類(看JDK7的API)

 

Java SE 8 有哪些主要特性?

 

? Lambda表達式,一種新的語言特性,可以使功能做爲方法參數或將代碼做爲數據;

 

? 顯著增長和完善Java語言特性,增添標準庫,包括默認方法,新的java.util.stream包及 Date-Time API;

 

? Compact Profiles包含 Java SE平臺預約義子集,使程序員無需部署在整個平臺,可運行在小型設備上;

 

? 安全性包括更新可Java加密體系架構;限制doPrivileged;SSL/TLS Server Name Indication (SNI) Extension以及加強密鑰庫;

 

? JavaFX更新文檔

 

? 新的JavaScript引擎Nashorn

相關文章
相關標籤/搜索