日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java7已經(jīng)完成的七大新功能預覽

推薦專題:Java 7 下一代Java開發(fā)技術詳解

為寬城等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及寬城網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站設計、成都網(wǎng)站制作、寬城網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

#t#最近的Devoxx大會上,Java 7將包含閉包的消息令很多人感到振奮——這將做為一個獨立的JSR被實現(xiàn)。在眾多Java 7新的語言特性中,有一些現(xiàn)在已經(jīng)完成了。Devoxx大會的一位參會者在博客中報告了下面這些Java 7已經(jīng)完成的7大新功能:
1)對集合類的語言支持;
2)自動資源管理;
3)改進的通用實例創(chuàng)建類型推斷;
4)數(shù)字字面量下劃線支持;
5)switch中使用string;
6)二進制字面量;
7)簡化可變參數(shù)方法調用。

編輯推薦:Java 7特別專題

下面我們來仔細看一下這7大新功能:

對集合類的語言支持

Java將包含對創(chuàng)建集合類的第一類語言支持。這意味著集合類的創(chuàng)建可以像Ruby和Perl那樣了。

原本需要這樣:

 
 
 
  1. List  list = new ArrayList ();  
  2. list.add("item");
  3. String item = list.get(0);
  4. Set  set = new HashSet ();  
  5. set.add("item");
  6. Map  map = new HashMap ();  
  7. map.put("key", 1);
  8. int value = map.get("key");

現(xiàn)在你可以這樣:

 
 
 
  1. List  list = [ "item"];  
  2. String item = list[0];
  3. Set  set = { "item"};  
  4. Map  map = { "key" : 1};  
  5. int value = map["key"];  

這些集合是不可變的。

自動資源管理

Java中某些資源是需要手動關閉的,如InputStream,Writes,Sockets,Sql classes等。這個新的語言特性允許try語句本身申請更多的資源,這些資源作用于try代碼塊,并自動關閉。

這個:

 
 
 
  1. BufferedReader br = new BufferedReader(new FileReader(path));
  2. try {
  3.    return br.readLine();
  4. finally {
  5.    br.close();
  6. }

變成了這個:

 
 
 
  1. try (BufferedReader br = new BufferedReader(new FileReader(path)) {
  2.    return br.readLine();
  3. }

你可以定義關閉多個資源:

 
 
 
  1. try (
  2.    InputStream in = new FileInputStream(src);
  3.    OutputStream out = new FileOutputStream(dest))
  4. {
  5.  // code
  6. }

為了支持這個行為,所有可關閉的類將被修改為可以實現(xiàn)一個Closable(可關閉的)接口。

增強的對通用實例創(chuàng)建(diamond)的類型推斷

類型推斷是一個特殊的煩惱,下面的代碼:

 
 
 
  1. Map > anagrams = new HashMap >(); 

通過類型推斷后變成:

 
 
 
  1. Map > anagrams = new HashMap<>(); 

這個<>被叫做diamond(鉆石)運算符,這個運算符從引用的聲明中推斷類型。

數(shù)字字面量下劃線支持

很長的數(shù)字可讀性不好,在Java 7中可以使用下劃線分隔長int以及l(fā)ong了,如:

 
 
 
  1. int one_million = 1_000_000;

switch中使用string

以前你在switch中只能使用number或enum?,F(xiàn)在你可以使用string了:

 
 
 
  1. String s = ...
  2. switch(s) {
  3.  case "quux":
  4.     processQuux(s);
  5.     // fall-through
  6.   case "foo":
  7.   case "bar":
  8.     processFooOrBar(s);
  9.     break;
  10.   case "baz":
  11.      processBaz(s);
  12.     // fall-through
  13.   default:
  14.     processDefault(s);
  15.     break;
  16. }

二進制字面量

由于繼承C語言,Java代碼在傳統(tǒng)上迫使程序員只能使用十進制,八進制或十六進制來表示數(shù)(numbers)。

由于很少的域是以bit導向的,這種限制可能導致錯誤。你現(xiàn)在可以使用0b前綴創(chuàng)建二進制字面量:

 
 
 
  1. int binary = 0b1001_1001;

簡化的可變參數(shù)調用

當程序員試圖使用一個不可具體化的可變參數(shù)并調用一個*varargs* (可變)方法時,編輯器會生成一個“非安全操作”的警告。JDK 7將警告從call轉移到了方法聲明(methord declaration)的過程中。這樣API設計者就可以使用vararg,因為警告的數(shù)量大大減少了。


本文名稱:Java7已經(jīng)完成的七大新功能預覽
標題URL:http://www.5511xx.com/article/coepcde.html