Java可变参数方法
概念:
jdk5.0出现的新特性。将同一个类中,多个方法名相同、参数类型相同、返回类型相同,仅仅是参数个数不同的方法抽取成一个方法,这种方法称为可变参数的方法
好处:
提高代码的重用性和维护性
语法:
修饰符 返回类型 方法名(参数类型... 参数名){
... ...
}
注意:使用时,将可变长度的参数当做数组使用,等价于:
修饰符 返回类型 方法名(参数类型[] 参数名){
... ...
}
(所以可变参数不可重载成一维数组)
例:
public class VarargsDemo { public static void main(String args[]) { // 调用可变参数的方法 printMax(34, 3, 3, 2, 56.5); printMax(new double[]{1, 2, 3}); } public static void printMax( double... numbers) { if (numbers.length == 0) { System.out.println("No argument passed"); return; } double result = numbers[0]; for (int i = 1; i < numbers.length; i++){ if (numbers[i] > result) { result = numbers[i]; } } System.out.println("The max value is " + result); } }
使用特点:
1、可变参数的实参可以为0个或任意多个,当为0个参数时传入长度为0的数组:double[0]
2、可变参数的实参可以为一维数组类型
3、可变参数和普通类型参数 一起使用时,只能放在最后
4、一个参数列表中至多有一个可变参数!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗