`
yangzisai
  • 浏览: 85825 次
  • 性别: Icon_minigender_1
  • 来自: 东莞
社区版块
存档分类
最新评论

Java7 新变化

阅读更多
1.对collections的支持



Java代码
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"); 

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代码
List<String> list = ["item"];  
String item = list[0];  
 
Set<String> set = {"item"};  
 
Map<String, Integer> map = {"key" : 1};  
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代码
BufferedReader br = new BufferedReader(new FileReader(path));  
try {  
   return br.readLine();  
} finally {  
   br.close();  


BufferedReader br = new BufferedReader(new FileReader(path));
try {
   return br.readLine();
} finally {
   br.close();
}
becomes:



Java代码
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  


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代码
Map<String, List<String>> anagrams = new HashMap<String, List<String>>(); 

Map<String, List<String>> anagrams = new HashMap<String, List<String>>();

becomes:



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

Map<String, List<String>> anagrams = new HashMap<>();4.数值可加下划线



Java代码
int one_million = 1_000_000; 

int one_million = 1_000_000;  

5.在switch中可使用string



Java代码
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;  


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.二进制文字



Java代码
int binary = 0b1001_1001; 

int binary = 0b1001_1001;  

7.简化了可变参数方法的调用



当程序员试图使用一个不可具体化的可变参数并调用一个*varargs* (可变)方法时,编辑器会生成一个“非安全操作”的警告。详情查看





查看原文:http://code.joejag.com/2009/new-language-features-in-java-7/
分享到:
评论

相关推荐

    Java7新特性中文介绍

    Java7的公布将引起行业的轰动 原本就很强大的Java,在经历Oracle的重组后到底发生了什么变化? 最新Java7官方的介绍翻译版带你走进Java7平台。

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

     《Java JDK 7学习笔记》针对Java SE 7新功能全面改版,无论是章节架构或范例程序代码,都做了全面重新编写与翻新。  《Java JDK 7学习笔记》是作者多年来教学实践的经验总结,汇集了学员在教学过程中遇到的概念、...

    java源码包---java 源码 大量 实例

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

    Java学习指南第四版下册

    《Java学习指南(第4版)(上、下册)》加入了从Java 6和Java 7发布以后的变化,包括新的语言功能、并发工具(Fork-Join框架)、新的NIO Files API、Java Servlet(3.0)等新主题,作者通过精心挑选的、富有实用性和趣味性...

    2018最新 Java9新特性详解视频

    7.新特性2:模块化的特性概述 8.模块化特性的代码实现 9.新特性3:jshell命令的使用 10.新特性4:多版本兼容jar包的使用说明 11.多版本兼容jar包的代码演示 12.新特性5:接口中定义私有方法 13.新特性6:钻石操作符...

    java源码包4

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

    java源码包3

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

    JAVA上百实例源码以及开源项目

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

    JAVA上百实例源码以及开源项目源代码

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

    java核心技术·卷II·高级特征(第9版·英文版)及源码

    新版做了全面更新,体现了Java SE7的变化,并将对Java SE 7新特性的完整描述融入对Java基本概念的精辟阐述中。  Java核心技术卷II:高级特性(第9版英文版)(上、下册)专为做实际项目的程序员编写,是一本真实可信、...

    java源码包2

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    浮动的广告 嵌套在html中 各种EJB之间的调用示例 7个目标文件 摘要:Java源码,初学实例,EJB调用实例 各种EJB之间的调用源码示例,用远程接口的引用访问EJB、函数将被FirstEJB调用,同时它将调用secondEJB 基于JAVA的...

    java jdk实列宝典 光盘源代码

    一个时钟程序,能够显示星期和日期,变化背景和透明度Clock.java; 11 java多媒体 滚动的消息,实现一个简单的动画,具有滚动效果的文本消息RollingMessage.java; 三维弹球,BouncingB.java; 贪吃蛇游戏SnakeModel....

    基于java的大数据预测系统(设计)可运行可演示

    2、配置java环境,使用jdk8,配置环境变量,下载IntelliJ IDEA 2019.2.4,该工具为java代码编译器 3、下载Maven,配置至环境变量(百度搜索很多),将构建器为Maven,类库配置成阿里库(方法:百度搜索很多很多) 4...

    Java核心技术 卷II 高级特性_第9版

    新版做了全面更新,体现了Java SE 7的变化,并将对Java SE 7新特性的完整描述融入对Java基本概念的精辟阐述中。 Java核心技术 卷II:高级特性(第9版·英文版)(上、下册)专为做实际项目的程序员编写,是一本真实可信...

    JAVA各种数据库使用JDBC连接的方式

    然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。 1、Oracle8/8i/9i数据库(thin模式) 2、DB2数据库 3、Sql Server7.0/2000数据库 4、Sybase...

    深入Java虚拟机(原书第2版).pdf【附光盘内容】

    4.2 一种新的软件模式 4.3 java体系结构对网络移动性的支持 4.4 applet:网络移动性代码的示例 4.5 jini服务对象:网络移动对象的示例 4.5.1 jini是什么 4.5.2 jini如何工作 4.5.3 服务对象的优点 ...

    Java版俄罗斯方块小游戏源码

    它看似简单但却变化无穷,上手极其容易,但是要熟练地掌握其中的操作与摆放技巧,难度却不低。 玩法简介 游戏具有一个用于摆放小方块的平面虚拟场地, 一组由几个小方块组成的规则形状(Tetromino), 游戏每次...

    Java虚拟机规范(Java SE 8版)

    Preface 前 言本书涵盖了自2011年发布Java SE 7版之后所发生的全部变化。此外,为了与常见的Java虚拟机实现相匹配,本书还添加了大量修订及说明。 本版与前面各版一样,仅仅描述了抽象的Java虚拟机,而在实现具体的...

    Java测试题1答案

    向客户端输出可以使用表达式,也可以使用out对象 3) JSP指令用于设置容器的状态,同时产生输出 4) 在使用include指令处理页面模块化时,当被包含的页面发生变化时,会自动表现出来。 &lt;br&gt;15、在web应用中...

Global site tag (gtag.js) - Google Analytics