PC6下载站

分类分类

Java 7的主要变化

关注+2009-11-26作者:

Devoxx 大会结束在几天前结束了,一位与会者对此次大会的重要内容进行了总结,他提到Java 7的主要变化如下:

 

1.对collections的支持

 

Java代码 复制代码
  1. List<String> list = new ArrayList<String>();   
  2. list.add("item");   
  3. String item = list.get(0);   
  4.   
  5. Set<String> set = new HashSet<String>();   
  6. set.add("item");   
  7.   
  8. Map<String, Integer> map = new HashMap<String, Integer>();   
  9. map.put("key", 1);   
  10. int value = map.get("key");  
List<String> list = new ArrayList<String>();
list.add("item");
String item = list.get(0);

Set<String> set = new HashSet<String>();
set.add("item");

Map<String, Integer> map = new HashMap<String, Integer>();
map.put("key", 1);
int value = map.get("key");

 现在你还可以:

 

Java代码 复制代码
  1. List<String> list = ["item"];   
  2. String item = list[0];   
  3.   
  4. Set<String> set = {"item"};   
  5.   
  6. Map<String, Integer> map = {"key" : 1};   
  7. int value = map["key"];  
List<String> list = ["item"];
String item = list[0];

Set<String> set = {"item"};

Map<String, Integer> map = {"key" : 1};
int value = map["key"];

 

 

2.自动资源管理

 

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

 becomes:

 

Java代码 复制代码
  1. try (BufferedReader br = new BufferedReader(new FileReader(path)) {   
  2.    return br.readLine();   
  3. }   
  4.   
  5. You can declare more than one resource to close:   
  6.   
  7. try (   
  8.    InputStream in = new FileInputStream(src);   
  9.    OutputStream out = new FileOutputStream(dest))   
  10. {   
  11.  // code   
  12. }  
try (BufferedReader br = new BufferedReader(new FileReader(path)) {
   return br.readLine();
}

You can declare more than one resource to close:

try (
   InputStream in = new FileInputStream(src);
   OutputStream out = new FileOutputStream(dest))
{
 // code
}

 

3.对通用实例创建(diamond)的type引用进行了改进

 

 

Java代码 复制代码
  1. Map<String, List<String>> anagrams = new HashMap<String, List<String>>();  
Map<String, List<String>> anagrams = new HashMap<String, List<String>>();

 becomes:

 

Java代码 复制代码
  1. Map<String, List<String>> anagrams = new HashMap<>();  
Map<String, List<String>> anagrams = new HashMap<>();

4.数值可加下划线

 

Java代码 复制代码
  1. int one_million = 1_000_000;  
int one_million = 1_000_000;

  

5.在switch中可使用string

 

Java代码 复制代码
  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. }  
String s = ...
switch(s) {
 case "quux":
    processQuux(s);
    // fall-through

  case "foo":
  case "bar":
    processFooOrBar(s);
    break;

  case "baz":
     processBaz(s);
    // fall-through

  default:
    processDefault(s);
    break;
}

 

6.二进制文字

 

展开全部

相关文章

更多+相同厂商

热门推荐

  • 最新排行
  • 最热排行
  • 评分最高
排行榜

    点击查看更多

      点击查看更多

        点击查看更多

        说两句网友评论

          我要评论...
          取消