今天看到同事写的一段代码,有个list后面跟着三个点,感觉挺新鲜特此记录一下

 private List<String> getName(List<item>...items) {####return XXX;}

网上搜了下

private void removeTempFiles(String... fileNames) {
for (String fileName : fileNames) {
try {
new File(fileName).delete();
} catch (Exception e) {
}
}
}

其中, String… fileNames 代表什么意思?
类型后面三个点(String…),是从Java 5开始,Java语言对方法参数支持一种新写法,叫可变长度参数列表,其语法就是类型后跟…,表示此处接受的参数为0到多个Object类型的对象,或者是一个Object[]。 例如我们有一个方法叫做test(String…strings),那么你还可以写方法test(),但你不能写test(String[] strings),这样会出编译错误,系统提示出现重复的方法。

在使用的时候,对于test(String…strings),你可以直接用test()去调用,标示没有参数,也可以用去test(“aaa”),也可以用test(new String[]{“aaa”,“bbb”})。

另外如果既有test(String…strings)函数,又有test()函数,我们在调用test()时,会优先使用test()函数。只有当没有test()函数式,我们调用test(),程序才会走test(String…strings)。
例子一:

public class Ttest {
//private static int a;
public static void test(int... a){
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
public static void main(String[] args) {
Ttest.test(1,2);
}
}

例二:
String… excludeProperty表示不定参数,也就是调用这个方法的时候这里可以传入多个String对象。

public static void main(String[] args) {
//测试,传入多个参数
test("hello", "world", "13sd", "china", "cum", "ict");
}public static void test(String... arguments) {
for (int i = 0; i < arguments.length; i++) {
System.out.println(arguments[i]);
}
}

java中,参数后面跟三个点(...)的含义相关推荐

  1. java中实现多线程的三种方式

    java中实现多线程的三种方式 1.实现多线程的方法: 在java中实现多线程的两途径:继承Thread类,实现Runable接口(Callable) 2.继承Thread类实现多线程: ​ 继承类T ...

  2. Java中List集合的三种遍历方式(全网最详)

    Map集合:链接: Map集合的五种遍历方式及Treemap方法 Set集合:链接: Java中遍历Set集合的三种方法 TreeSet集合:链接: Java深入了解TreeSet,和迭代器遍历方法 ...

  3. Java中实现接口的三种方式您造吗?

    本文介绍了Java中实现接口的三种方式:常规实现方式.匿名内部类和 Lambda表达式实现方式.希望已经了解的同学可以重新温习一下,不了解的同学则从中受益! Java中接口最常规的实现方式 同学们都会 ...

  4. java中Map遍历的三种方式

    Java中Map遍历的三种方式 前言 一:在for循环中使用entries实现Map的遍历: 二:在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能 ...

  5. java中参数存储_Java中函数参数传递和数据存储

    值传递是将要传递的值作为一副本传递的.. 引用传递,传递的是引用对象的内存地址.. 例如: int i=4; int j=i;   //相当于把4复制了一个副本赋给了j 输出结果是i=4 ,j=4 C ...

  6. java中参数“ ...“的用法和意思

    Object ...os这种写法是从Java 5开始的,Java语言对方法参数支持一种新写法,叫可变长度参数列表. 表示此处接受的参数为0到多个Object类型的对象,或者是一个Object[] 注意 ...

  7. JAVA中创建线程的三种方法及比较

    JAVA中创建线程的方式有三种,各有优缺点,具体如下: 目录 一.继承Thread类来创建线程 二.实现Runnable接口来创建线程 三.通过Callable和Future来创建线程 四.三种方式创 ...

  8. [转载] 由swap引出的java中参数严格值传递问题

    参考链接: Java严格按照值传递 [size=large]博文出处:http://atleeon.com/code/2013/11/28/java-swap-value/ [/size] 晚上看到一 ...

  9. Java中创建线程的三种方式

    Java中创建线程主要有三种方式: 一.继承Thread类创建线程类 (1)继承Thread类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务.因此把run()方法称为执行体. ...

  10. java中数组遍历的三种方式

    使用显示数组 for,for-each,和toString 题目描述 1.for循环遍历 程序: 运行结果: 2.foreach语句遍历 语法格式: 注: 运行结果: 程序: 运行结果: 3.Arra ...

最新文章

  1. 基于 SpringBoot 的仿豆瓣平台【源码分享】
  2. 解决 Illegal DefaultValue null for parameter type integer 异常
  3. for循环:用turtle画一颗五角星
  4. [组合数]求组合数的几种方法总结
  5. Vue+Leaflet-side-by-side插件实现拉帘对比效果
  6. 增加myEclipse的非堆内存
  7. 直接销毁_战机报废,发动机怎么处理?美国直接销毁,中国改造成扫雪神器
  8. 让数字保持在整数范围内
  9. Python 面向对象 实例方法 属性 (上)
  10. JS获取当前屏幕宽高
  11. 变量独立与不相关的区别
  12. 深度学习推荐模型-DeepCrossing
  13. java学习(三)内部类
  14. CVPR 2021 论文和开源项目合集
  15. 解读一淘网(etao)首页响应式兼容ie6~ie8实现方法
  16. 概率论笔记(四)概率分布的下期望和方差的公式总结
  17. 示波器电流探头可分为无源和有源两类,它们的区别是什么?
  18. python爬取英雄联盟所有皮肤价格表_用python网络爬虫爬取英雄联盟英雄图片
  19. 中国传统色的魅力|这8组中国风传统颜色你一定要收藏
  20. STM32 最小系统电路简析

热门文章

  1. 民宿管理系统课程设计_民宿室内设计毕业设计
  2. 处理器的排名_齐齐哈尔LPCVD尾气处理器排名推荐
  3. 【游戏开发实战】(完结)使用Unity制作水果消消乐游戏教程(九):使用UGUI显示游戏UI
  4. 程序员的必备装备——为健康加油
  5. 2023考研路上,恭祝诸君只争朝夕,不负韶华
  6. C语言加油站程序,C语言解决 加油站问题
  7. 【LaTeX】复杂表格的制作:Excel2LaTeX及细节调整
  8. Asio Basic Asio Anatomy
  9. 如何添加网络打印机-查看IP地址就可以
  10. oracle mysql 同义词_Oracle中的同义词SYNONYM