java中的可变参数使用方法

可变参数时Java 1.5新增的方法,可变参数方法接收0个或者多个指定类型的参数,可变参数机制通过先创建一个数组,数组的大小为在调用位置所传递的参数数量,然后将参数值传到数组中,最后将数组传递给方法。如:

public class Test{

public int sum(int... args) {

int sum = 0;

for (int arg : args) {

sum += arg;

}

return sum;

}

}

可变参数提供了方便,但是使用可变参数时需要特别小心,可变参数方法的每次调用都会导致进行一次数组的分配和初始化,如果方法被多次调用对性能的影响会很大,但有一种方式可以适当的解除这种问题。假设确定对某个方法95%的调用会有3个或者更少的参数,就申明该方法的5个重载每个重载方法带有0至3个普通参数,当参数的数目超过3个时,就使用一个可变参数方法:

public class Test{

public void method(){}

public void method(int a1){}

public void method(int a1, int a2){}

public void method(int a1, int a2, int a3){}

public void method(int a1, int a2, int a3, int... args){}

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

java 变参 使用数组调用_java中的可变参数使用方法相关推荐

  1. java arraylist与数组转换_java中String,数组,ArrayList三者之间的转换

    免费资源网 - https://freexyz.cn/ ArrayList转为String和数组 造一个元素为Integer的ArrayList 为list_int 造一个元素为String 的 Ar ...

  2. java 打印byte数组内容_java中打印byte数组

    JAVA字节转换 字节(Byte)简称:"B",字位(Bit)简称"b", 1 个字位(Bit)=1 个二进制数, 1 个字节=8 个字位=8 个二进制数, 1 ...

  3. java new class 直接调用_java中创建对象的的两种方式具体解释,一个是new一个是调用Class类的newinstance方法?...

    展开全部 1.new 使用java的关键字new来创建对象实例.构造函数链中的所有构造函数都32313133353236313431303231363533e78988e69d833133333739 ...

  4. java解析json数组对象_JAVA中快速解析JSON对象里包含的JSON数组

    例如现在有这样一个Json String Value =  {"data":[{"school_name":"西北农林科技大学"," ...

  5. java代码获取项路径_Java中获取各种路径的方法盘点

    Java代码中获取路径 假设当前项目路径为:D:/wunian/workspace/JavaProject,现在来分别获取此项目中的各种路径. 1.获取资源文件(.class文件)所在路径(四种方式) ...

  6. java父类声明子类实现_java中父类声明子类实例化

    问题: 1.比如两个类父类:Person 子类 Student extends Person在使用时候,这样写:Person person=null; //声明对象person=new Student ...

  7. 【Java】Java反射调用可变参数的方法

    文章目录 1.概述 1.概述 因为要Java反射调用可变参数的方法,所以参考了这篇文章:https://www.cnblogs.com/huqingchen/p/5979936.html 但是测试过程 ...

  8. Java中的可变参数方法

    1.一个小例子: 为了比较直观地说明Java的可变参数方法,我们举个例子: //求若干个整型数中的最大值 public int getMax(int... items){ //定义可变参数itemsi ...

  9. Java中的可变参数使用语法及用途

    目录 一.什么时候使用可变参数? 二.可变参数的格式 代码演示 三.可变参数的注意事项 案例1(多个可变参数) 案例2(可变参数不在末尾) 作者:KJ.JK ` 一.什么时候使用可变参数? 如果方法中 ...

最新文章

  1. Sql — CTE公用表表达式和With用法总结
  2. 物联网设计四大独特挑战的解决方案
  3. 深圳市收运体系运营管理_房地产企业如何搭建运营管理体系
  4. 信息收集工具exiftool获取图片中的exif信息
  5. 堆和栈的区别(转载)+自己总结
  6. php类精确验证身份证号码
  7. mysql + keepalived高可用
  8. jupyter notebook代码自动完成功能
  9. (86)Verilog HDL:三分频设计
  10. 员工因上厕所时间超长被开除了,法院:超出正常生理需求范围!
  11. 电脑公司Windows7_X86旗舰版V0911
  12. Ubuntu 16.04下设置开机时自动开启NumLock
  13. “多模态视频人物识别”课程分享学习总结
  14. 手把手教你用Python画直方图
  15. centos查看显卡型号时出现 NVIDIA Corporation
  16. 智能时代的内容安全,易盾是如何落地的?
  17. K8S 数据卷volumes之Secret
  18. 微型计算机曾经使用过的字长,自考《计算机应用基础》模拟试题七
  19. 外设篇:NandFlash和iNand
  20. 一位牛人写的关于开关电源的啸叫原因经验,比较实用!

热门文章

  1. CAS和Synchronized知识
  2. 浅谈String str = ““ 和 new String()的区别
  3. java用XSSFWorkbook实现读写Excel
  4. HTML中如何给HTML元素添加事件
  5. 无符号右移负数_关于负数的右移与无符号右移运算小结
  6. mysql命令实践_MySQL:常用命令行
  7. 编辑流程图_流程图不会绘制?一分钟手把手教你学会,超简单
  8. mysql 5.0.37.tar.gz_Linux下MySQL5.0.37安装配置步骤
  9. 2021曾都二中高考成绩查询入口,2021高考-随州设4个考区11个考点·
  10. 2021年高考理综单科成绩查询,2021年高考总分是多少 2021年高考各科满分多少分...