「这是我参与11月更文挑战的第19天,活动详情查看:2021最后一次更文挑战」。
茫茫人海千千万万,感谢这一秒你看到这里。希望我的文章对你的有所帮助!
愿你在未来的日子,保持热爱,奔赴山海!
题记:昨天我们已经小小的了解JDK1.7对异常的支持,接下来就让我们额外的学习下JDK1.7新特性吧!一起瞧瞧呗!
😛JDK1.7有关新特性
catch多种异常并抛出新的异常
还有个异常相关的新特性可以瞧瞧,见一见,不见白不见是吧!
-
在JDK1.7之前catch 多个异常是这样的:
try{ 编写可能会出现异常的代码 }catch(异常类型A e){ 当try中出现A类型异常,就用该catch来捕获. 处理异常的代码 }catch(异常类型B e){ 当try中出现B类型异常,就用该catch来捕获. 处理异常的代码 } 复制代码
-
JDK1.7及以后可以这样:
try{ 编写可能会出现异常的代码 }catch (异常类型A | 异常类型B e) { 处理异常的代码 } 复制代码但是呢,这个是同类型异常才可以这样定义。
switch中可以使用字串了
在之前版本中,switch语句中的括号是只能支持 byte、short、int、char或者他们对应的封装类。 现在可以在原有基础上增加了String类。
接下来就让我们一起瞧瞧呗!
package com.gt;
public class SwitchTest {
public static void main(String[] args) {
// 测试switch 新特性
String status = "complete";
switch (status) {
case "cancel":
System.out.println("成功取消订单");
break;
case "success":
System.out.println("下单成功");
break;
case "complete":
System.out.println("订单完成");
break;
default:
System.out.println("输入错误,请重新输入");
}
}
}
复制代码
可以看看输出结果:
订单完成
复制代码
创建泛型时类型推断
泛型实例的创建可以通过类型推断来简化,可以去掉后面new部分的泛型类型,只用<>就可以了。相当于只要编译器可以从上下文中推断出类型参数,你就可以用一对空着的尖括号<>来代替泛型参数。
现在来看看:
package com.gt;
import java.util.ArrayList;
import java.util.List;
public class GenericsTest {
// 测试泛型自动类型推断
public static void main(String[] args) {
// 在JDK1.7前 类型需要这样写
List<Integer> arrayList = new ArrayList<Integer>();
// 在JDK1.7后 类型需就可以这样写
// 因为编译器可以从前面(List)推断出推断出类型参数,所以后面的ArrayList之后可以不用写泛型参数了,
// Java SE7 只支持有限的类型推断:只有构造器的参数化类型在上下文中被显著的声明了,你才可以使用类型推断,否则不行。
List<Integer> arrayList2 = new ArrayList<>();
arrayList.add(11);
arrayList.add(22);
arrayList2.add(66);
arrayList2.add(88);
for (Integer item : arrayList) {
System.out.println("当前数 = " + item);
}
for (Integer item2 : arrayList2) {
System.out.println("当前数 = " + item2);
}
}
}
复制代码
现在来看看执行结果:
当前数 = 11
当前数 = 22
当前数 = 66
当前数 = 88
复制代码
当然还有小细节
-
数值可加下划线
int one_million = 1_000_000; 复制代码
-
支持二进制文字
int binary = 0b1001_1001; 复制代码
-
新增一些取环境信息的工具方法
File System.getUserHomeDir() // 当前用户目录 File System.getUserDir() // 启动java进程时所在的目录5 File System.getJavaIoTempDir() // IO临时文件夹 File System.getJavaHomeDir() // JRE的安装目录 复制代码
🌸总结
相信各位看官都对JDK1.7新特性有了一些了解吧,当然还有很多的JDK1.7新特性等着大家解锁,这里只讲解一点点啦!那我们继续期待下一章的更多的内容吧!欢迎期待下一章的到来!
让我们也一起加油吧!本人不才,如有什么缺漏、错误的地方,也欢迎各位人才大佬评论中批评指正!当然如果这篇文章确定对你有点小小帮助的话,也请亲切可爱的人才大佬们给个点赞、收藏下吧,一键三连,非常感谢!
学到这里,今天的世界打烊了,晚安!虽然这篇文章完结了,但是我还在,永不完结。我会努力保持写文章。来日方长,何惧车遥马慢!
感谢各位看到这里!愿你韶华不负,青春无悔!
\




近期评论