首页 / JAVA / Java10的新特性
Java10的新特性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java10的新特性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1813字,纯文字阅读大概需要3分钟。
内容图文
一、Java10新特性
<1>java10的新特性一:局部变量类型推断
@Test
public void test1() {
//1.声明变量时,根据所附的值,推断变量的类型
var num = 10;
var list = new ArrayList<Integer>();
//2.遍历操作
for (var i : list) {
System.out.println(i);
System.out.println(i.getClass());
}
//3.普通的遍历操作
for (var i = 0; i < 100; i++) {
System.out.println(i);
}
}
@Test
public void test2() {
//1.局部变量不赋值,就不能实现类型推断
// var num ;
//2.lambda表示式中,左边的函数式接口不能声明为var
// Supplier<Double> sup = () -> Math.random();
// var sup = () -> Math.random();
//3.方法引用中,左边的函数式接口不能声明为var
// Consumer<String> con = System.out::println;
// var con = System.out::println;
//4.数组的静态初始化中,注意如下的情况也不可以
int[] arr = {1, 2, 3, 4};
// var arr = {1,2,3,4};
}
@Test
public void test3() {
//情况1:没有初始化的局部变量声明
// var s = null;
//情况2:方法的返回类型
// public var method1(){
// return 0;
// }
// 情况3:方法的参数类型
// public void method2(var num){
// }
//情况4:构造器的参数类型
// public Java10Test(var i){
// }
//情况5:属性
// var num;
// 情况6:catch块
// try{
//
// }catch(var e){
// e.printStackTrace();
// }
}
<2>java10的新特性二:集合中新增的copyOf(),用于创建一个只读的集合
@Test
public void test5(){
//示例1:
var list1 = List.of("Java", "Python", "C");
var copy1 = List.copyOf(list1);
System.out.println(list1 == copy1); // true
//示例2:
var list2 = new ArrayList<String>();
list2.add("aaa");
var copy2 = List.copyOf(list2);
System.out.println(list2 == copy2); // false
}
示例1和2代码基本一致,为什么一个为true,一个为false?
结论:copyOf(Xxx coll):如果参数coll本身就是一个只读集合,则copyOf()返回值即为当前的coll
如果参数coll不是一个只读集合,则copyOf()返回一个新的集合,这个集合是只读的。
内容总结
以上是互联网集市为您收集整理的Java10的新特性全部内容,希望文章能够帮你解决Java10的新特性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。