Java 7已经完成的七大新功能预览
最近的Devoxx大会上,Java 7将包含闭包的消息令很多人感到振奋——这将做为一个独立的JSR被实现。在众多Java 7新的语言特性中,有一些现在已经完成了。Devoxx大会的一位参会者在博客中报告了下面这些Java 7已经完成的7大新功能:
1)对集合类的语言支持;
2)自动资源管理;
3)改进的通用实例创建类型推断;
4)数字字面量下划线支持;
5)switch中使用string;
6)二进制字面量;
7)简化可变参数方法调用。
下面我们来仔细看一下这7大新功能:
对集合类的语言支持
Java将包含对创建集合类的第一类语言支持。这意味着集合类的创建可以像Ruby和Perl那样了。
原本需要这样:
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 = ["item"]; String item = list[0]; Set<String> set = {"item"}; Map<String, Integer> map = {"key" : 1}; int value = map["key"];
这些集合是不可变的。
自动资源管理
Java中某些资源是需要手动关闭的,如InputStream,Writes,Sockets,Sql classes等。这个新的语言特性允许try语句本身申请更多的资源,这些资源作用于try代码块,并自动关闭。
这个:
BufferedReader br = new BufferedReader(new FileReader(path)); try { return br.readLine(); } finally { br.close(); }
变成了这个:
try (BufferedReader br = new BufferedReader(new FileReader(path)) { return br.readLine(); }
你可以定义关闭多个资源:
try&n
相关文档:
首先有三个概念需要了解:
一.静态初始化:是指执行静态初始化块里面的内容。
二.实例初始化:是指执行实例初始化块里面的内容。
三.构造方法:一个名称跟类的名称一样的方法,特殊在于不带返回值。
对于这三个概念,给出以下程序,方便理解:
Java代码
class Book{ ......
1、Oracle8/8i/9i数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
2、DB2 ......
package com.wepull.jbs.lesson4;
import java.util.Random;
/**
* 排序测试类
*
* 排序算法的分类如下:
* 1.插入排序(直接插入排序、折半插入排序、希尔排序);
* 2.交换排序(冒泡泡排序、快速排序);
* 3.选择排序(直接选择排序、堆排序);
......
用java开发邮件接收程序需要用到javamail包,资源地址:http://java.sun.com/products/javamail/,最新版是 JavaMail 1.4.3 ,下载地址是:http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/javamail-1.4.3.zip?BundledLineItemUUID=gqFIBe.oRjUAAAEl1r4 ......
1、用静态工厂方法代替构造函数
优点:
与构造函数不同,静态工厂方法具有名字(表意好)。
每次被调用时,不要求非得创建一个新的对象。
可以返回一个原返回类型的子类型对象。
缺点:
类如果不含有公有的或受保护的构造函数,就不能被子类化。
它们于其他的静态方法没有任何区别(易混淆)
......