JDK 7发行说明中的Java SE 7 function和增强function
这是来自OpenJDK 7function页面的Java 7新function摘要:
vm JSR 292:支持dynamictypes语言(InvokeDynamic)
严格的类文件检查
lang JSR 334:小语言增强(Project Coin)
核心升级类加载器体系结构
closuresURLClassLoader的方法
并发和集合更新(jsr166y)
i18n Unicode 6.0
区域增强
独立的用户区域设置和用户界面区域设置
ionet JSR 203:用于Java平台的更多新的I / O API(NIO.2)
用于zip / jar档案的NIO.2文件系统提供者
SCTP(stream控制传输协议)
SDP(套接字直接协议)
使用Windows Vista IPv6堆栈
TLS 1.2
秒椭圆曲线密码术(ECC)
jdbc JDBC 4.1
用于Java 2D的客户端XRenderpipe道
为6u10graphicsfunction创build新的平台API
Swing的灵气外观
Swing JLayer组件
Gervill声音合成器[新]
web更新XML堆栈
pipe理增强的MBean [已更新]
Java 1.7新function的代码示例
试用资源声明
这个:
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(); }
您可以声明多个资源closures:
try ( InputStream in = new FileInputStream(src); OutputStream out = new FileOutputStream(dest)) { // code }
数字文字中的下划线
int one_million = 1_000_000;
开关中的string
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; }
二进制文字
int binary = 0b1001_1001;
改进通用实例创build的types推断
Map> anagrams = new HashMap>();
变为:
Map> anagrams = new HashMap<>();
捕获多个exception
这个:
} catch (FirstException ex) { logger.error(ex); throw ex; } catch (SecondException ex) { logger.error(ex); throw ex; }
变为:
} catch (FirstException | SecondException ex) { logger.error(ex); throw ex; }
SafeVarargs
这个:
@SuppressWarnings({"unchecked", "varargs"}) public static void printAll(List... lists){ for(List list : lists){ System.out.println(list); } }
变为:
@SafeVarargs public static void printAll(List... lists){ for(List list : lists){ System.out.println(list); } }