成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java 7已經完成的七大新功能預覽

原創
開發 后端
今年的Devoxx大會又是一次有關Java 7進程的一次展示大會。一位Devoxx的參會者在博客中報告了Java 7現在已經完成的7大新功能。Java 7預計將在2010年9月正式到來。

51CTO推薦專題:Java 7 下一代Java開發技術詳解

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

51CTO編輯推薦:Java 7特別專題

 

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

 

對集合類的語言支持

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

原本需要這樣:

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

現在你可以這樣:

  1. List list = ["item"];  
  2. String item = list[0];  
  3.  
  4. Set set = {"item"};  
  5.  
  6. Map map = {"key" : 1};  
  7. 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();  

變成了這個:

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

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

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

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

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

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

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

通過類型推斷后變成:

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

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

數字字面量下劃線支持

很長的數字可讀性不好,在Java 7中可以使用下劃線分隔長int以及long了,如:

  1. int one_million = 1_000_000; 

switch中使用string

以前你在switch中只能使用number或enum。現在你可以使用string了:

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

二進制字面量

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

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

  1. int binary = 0b1001_1001; 

簡化的可變參數調用

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

責任編輯:yangsai 來源: 51CTO.com
相關推薦

2011-08-10 10:41:19

虛擬化VMware ESXi

2010-09-29 14:08:31

2013-09-26 15:55:45

iOS7功能

2020-11-02 00:17:52

vSphere 7.0Kubernetes容器管理

2011-06-03 13:21:42

iOS5WWDC蘋果

2014-10-30 14:42:57

Android 5.0Google

2010-01-13 09:11:04

Visual Stud

2010-05-07 09:11:52

2011-04-07 14:12:04

Firefox 5.0

2018-11-23 15:55:29

Windows10Windows 7Windows

2020-05-07 14:34:14

GitHub新功能開發者

2013-02-28 20:24:57

微軟SharePoin

2013-02-28 20:27:46

Exchange微軟

2020-01-31 18:40:57

Python 3.8Python語言

2013-02-28 20:22:06

Lync微軟

2009-07-07 08:51:00

微軟Windows 7新功能

2025-05-19 00:06:00

編碼工具CursorAI

2020-02-06 09:00:00

ESES2020前端

2018-09-30 14:20:03

編程語言Java新特性

2015-06-02 15:24:45

Android M谷歌
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品一区二区三区久久久 | 国产欧美一区二区精品久导航 | 久久久久综合 | 在线观看av免费 | 九九看片| 国产一区二区三区视频在线观看 | 精品视频在线播放 | 日本一区二区在线视频 | 亚洲精品国产电影 | 久久久久久综合 | 欧美日韩理论 | 999久久久久久久久6666 | 亚洲性人人天天夜夜摸 | 一本在线 | 成人精品免费视频 | 国产精品99久久久久久www | 亚洲欧洲一区 | 三级黄色大片网站 | 成人av片在线观看 | 国产男女视频网站 | 欧美日本一区 | 中文字幕在线精品 | www.47久久青青 | 日韩在线中文字幕 | 亚洲国产视频一区二区 | 国产精品美女久久久久久免费 | 亚洲综合在线视频 | 久久影音先锋 | 成人h动漫亚洲一区二区 | 四虎影| 一区二区三区不卡视频 | 国产精品久久久久久久久久免费看 | 久久99视频这里只有精品 | 狠狠影院 | 午夜精品一区 | 国产精品国产成人国产三级 | 久久久精品一区二区三区 | 久久视频免费看 | 亚洲 欧美 日韩在线 | 国产成人精品一区二区三区四区 | 久久一二区|