Java变长变量(类似ES6的剩余参数)应用例子

2021-06-27 17:03

阅读:542

标签:work   出现   限制   java   对象   添加   es6   ram   特性   

    今天看代码的时候,看到一处如下:

技术分享图片

第三个参数提示:...properties的写法有点类似之前看过的ES6语法的剩余参数,不知道java也有这玩意儿。搜了下,是jdk1.5的新特性:变长变量。有点孤陋!

百度知道解释:

  其实这种定义就类似一个数据的定义,可以不用给它的长度加以限制,可以传入任意多个参数。
比用数据更灵活一些,不会出现一些数组越界等的异常。
如:
getType(String ...values);
调用时,可以getType("a","b","c")等,参数个数没有限制,类型是前面规定的String类型。

继续看代码的调用,首先是跟踪Sort()对像的构造器。Sort()是org.springframework.data.domain包下的一个类,

技术分享图片

实现了两个接口,Sort.Order应该就是Sort类里的一个静态内部类了。不扯了,直接看关键位置的构造器:

技术分享图片

发现剩余参数变量(变长变量)传进来,主要用于构造ArrayList动态数组对象。搜了下数组工具类asList()的用法,将一个数组转化为一个List对象,

这个方法会返回一个ArrayList类型的对象, 这个ArrayList类并非java.util.ArrayList类,而是Arrays类的静态内部类!用这个对象对列表进行添加删除更新操作,

就会报UnsupportedOperationException异常。

技术分享图片

总结就是,变成变量应该主要用来转为数组对象吧。

 

Java变长变量(类似ES6的剩余参数)应用例子

标签:work   出现   限制   java   对象   添加   es6   ram   特性   

原文地址:https://www.cnblogs.com/lzrun/p/9651362.html


评论


亲,登录后才可以留言!