外链工具,郑州网络seo,太原市今天新闻,深圳市网站建设制作设计平台JDK7.0语法新特性1#xff0c;菱形语法(泛型实例化类型自动推断)List list new ArrayList(); // 这个真的很像菱形2#xff0c;在目前版本中#xff0c;不可具体化的泛型(任意类型)可变参数#xff0c;在编译时#xff0c;会在调用处产生警告#xff0c…JDK7.0语法新特性1菱形语法(泛型实例化类型自动推断)List list new ArrayList(); // 这个真的很像菱形2在目前版本中不可具体化的泛型(任意类型)可变参数在编译时会在调用处产生警告JDK7里将这个警告挪到了方法定义处。变化前static List asList(T... elements) { ... }static List stringFactories() {Callable a, b, c;...// 警告处return asList(a, b, c);}static List asList(T... elements) { ... }static List stringFactories() {Callable a, b, c;...// 警告处return asList(a, b, c);}变化后// 警告处static List asList(T... elements) { ... }static List stringFactories() {Callable a, b, c;...return asList(a, b, c);}// 警告处static List asList(T... elements) { ... }static List stringFactories() {Callable a, b, c;...return asList(a, b, c);}3switch现在可以支持字符串了String s ...switch(s) {case quux:processQuux(s); //没有break,继续往下case foo:case bar:processFooOrBar(s);break;case baz:processBaz(s); //没有break,继续往下default:processDefault(s);break;}String s ...switch(s) {case quux:processQuux(s); //没有break,继续往下case foo:case bar:processFooOrBar(s);break;case baz:processBaz(s); //没有break,继续往下default:processDefault(s);break;}4支持二进制语法和单位级别的数字表示方式// 8位bytebyte aByte (byte)0b00100001;// 16位shortshort aShort (short)0b1010000101000101;// 32位intint anInt1 0b10100001010001011010000101000101;// 8位bytebyte aByte (byte)0b00100001;// 16位shortshort aShort (short)0b1010000101000101;// 32位intint anInt1 0b10100001010001011010000101000101;支持单位级别的数字提高可读性long underScores 9_223_372_036_854_775_807L; // 每三位加一下划线等同于 9,223,372,036,854,775,807long underScores 9_223_372_036_854_775_807L; // 每三位加一下划线等同于 9,223,372,036,854,775,8075从语法层面上支持集合不再是数组的专利。final List piDigits [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 9];final Set primes { 2, 7, 31, 127, 8191, 131071, 524287 };final Map platonicSolids { 4 : tetrahedron,6 : cube, 8 : octahedron, 12 : dodecahedron, 20 : icosahedron};final List piDigits [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 9];final Set primes { 2, 7, 31, 127, 8191, 131071, 524287 };final Map platonicSolids { 4 : tetrahedron,6 : cube, 8 : octahedron, 12 : dodecahedron, 20 : icosahedron};6JSR 292 动态类型语言支持Dynamic x (动态语言脚本);Object y x.foo(ABC).bar(42).baz();Dynamic x (动态语言脚本);Object y x.foo(ABC).bar(42).baz();7动态资源管理在目前版本的java中当你操作流时一定会加try..finally以保证出现异常时流能被正确关闭。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();}在JDK7里你只需要将资源定义在try()里Java7就会在readLine抛异常时自动关闭资源。另外资源类必须实现 Disposable 接口。支持管理多个资源try (BufferedReader br new BufferedReader(new FileReader(path)) {return br.readLine();}