Java变长参数

在Java5中提供了变长参数,也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如:print("hello");print("hello","lisi");print("hello","张三");下面介绍如何定义可变长参数以及如何使用可变长参数。

1、可变长参数方法的定义

使用...表示可变长参数,例如

print(String... args){

...

}

在具有可变长参数的方法中可以把参数当成数组使用,例如可以循环输出所有的参数值。

print(String... args){

for(String temp:args)

System.out.println(temp);

}

2、可变长参数的方法的调用

调用的时候可以给出任意多个参数,例如:

print("hello");

print("hello","lisi");

print("hello","张三");

3、注意事项

3.1 在调用方法的时候,如果能够和固定参数的方法匹配,也能够与可变长参数的方法匹配,则选择固定参数的方法。看下面代码的输出:

package ch6;

import static java.lang.System.out;
public class VarArgsTest {

public static void main(String[] args) {
VarArgsTest test = new VarArgsTest();
test.print("hello");
test.print("hello","zhangsan");
}

public void print(String... args){
for(int i=0;i<args.length;i++){
out.println(args[i]);
}
}

public void print(String test){
out.println("----------");
}
}

3.2 如果要调用的方法可以和两个可变参数匹配,则出现错误,例如下面的代码:

package ch6;

import static java.lang.System.out;
public class VarArgsTest {

public static void main(String[] args) {
VarArgsTest test = new VarArgsTest();
test.print("hello");
test.print("hello","zhangsan");
}

public void print(String... args){
for(int i=0;i<args.length;i++){
out.println(args[i]);
}
}

public void print(String test,String...args ){
out.println("----------");
}
}

对于上面的代码,main方法中的两个调用都不能编译通过。

3.3 一个方法只能有一个可变长参数,并且这个可变长参数必须是该方法的最后一个参数

以下两种方法定义都是错误的。

public void test(String... strings,ArrayList list){

}

public void test(String... strings,ArrayList... list){

}

下面是一个有陷阱的例子(例子来源http://topic.youkuaiyun.com/u/20090515/23/54cca7cb-f9a**84f-9a25-1be1ab447ec8.html),请写出输出结果:

public class TestVarargs{
public static void m(String[] ss){
for(int i=0; i <ss.length; i++){
System.out.println(ss[i]);
}
}
public static void m1(String s, String... ss){
for(int i=0; i <ss.length; i++){
System.out.println(ss[i]);
}
}
public static void main(String[]args){
String[] ss = {"aaa", "bbb", "ccc"};
m(ss);
m1("");
m1("aaa");
m1("aaa", "bbb");
}
}

完毕!

李绪成 优快云 Blog:http://blog.youkuaiyun.com/javaeeteacher
优快云学生大本营:http://student.youkuaiyun.com/space.php?uid=124362
如果喜欢我的文章,就加我为好友:http://student.youkuaiyun.com/invite.php?u=124362&c=7be8ba2b6f3b6cc5

stm32最小系统_完成一个最小FOC矢量控制系统所需的基本模块和功能配置 当我们读懂 FOC 矢量控制的基本原理之后,便迫不及待的想动手尝试,去实现一个矢量控制系统,让电机先转起来,有一个直观的感受。因此,我们需要设计实现一个矢量控制的最小系统,具备矢量控制的基本功能,满足电机矢量运行的基本条件。首先,看一下矢量控制的基本架构:矢量控制架构如上图所描述,矢量控制系统包括实时电流的采集、clarke 变换、park 变换、SVPWM 、实时角度的反馈和计算以及电流环和速... 阅读详情

相关推荐

Lossless-Claw 插件实战:告别上下文截断,让 OpenClaw 永不遗忘

本文介绍了OpenClaw的Lossless-Claw插件,这是一个基于LCM论文的DAG摘要系统,能有效解决上下文截断问题。文章包含10个部分,从插件原理到实操指南: 核心原理:通过DAG结构持久化存储所有原始消息,将旧消息分块摘要并形成层级结构,保持上下文在模型Token限制内。 性能优势:在OOLONG基准测试中得分74.8,优于Claude Code的70.3,尤其在长上下文场景表现更佳。 功能特点: 提供lcm_grep、lcm_describe等工具主动回忆历史 摘要始终链接回原文,实现真正无损

u014798858的博客 2619

scala笔记学习笔记

一,定长数组和变长数组 变长数组:数组长度可变 定长数组:数组长度不可变 二,变长和定长数组之间的转换 定长转变长:调用toBuffer方法 定长转变长:调用toArray方法 三,函数 Map:映射,针对列表当中的每个元素进行操作,操作完成后,返回i一个新的列表 特点:操作之前列表当中有多少个元素,操作之后,还是多少个 filter:过滤出来我们想要的结果,摒弃掉不要的结果 四,tuple元组 最多只能存放22个元素 五,集合 List:有序,有索引,里面元素可以重复 Set:

刘小白 309

【MIT-BEVFusion代码解读】第四篇:融合特征fuser和解码特征decoder

的大小,实际上源代码也是这么做的。最后将得到两个分支的特征进行。,第一个特征使用卷积降低通道数即可,第二个则需要反卷积来提升。所以backbone只有两个分支,都是5个卷积模块组成。的长和宽都减半至90,然后在经过5个相同的。将通道降至128,后面再接5个相同的。,将通道数128上至256,并且将。特征进行融合,这里使用的。部分由两部分组成,分别是。,这个分支首先经过第一个。,然后再卷积得到 =>提取特征,最后得到特征。得到了两个大小不同的。

非晚非晚的博客 2958

Java基础-可变长参数

本篇目录 1、什么是可变长参数 2、可变长参数的定义 3、可变长参数的使用 4、遍历可变长参数 1、什么是可变长参数 可变长参数顾名思义是可以改变长度的参数,意为传入的参数个数可以不固定。 Java中什么数据类型可以改变长度?当然是数组。确实,在JDK5之前的确是使用数组来实现可变长参数的。 那么什么是可变长参数?如下代码: public static void test(String[] args){ for(String str:args){ System.out.print

二饭的博客 6926

从零到一:FAST_LIO与FAST_LIO2算法环境搭建与实战评测

本文详细介绍了FAST_LIO与FAST_LIO2算法的环境搭建与实战评测,包括算法原理、环境配置避坑指南、源码编译技巧及性能对比。FAST_LIO2凭借ikd-tree数据结构在动态环境中表现优异,处理速度提升至15ms,内存占用降低40%。文章还提供了常见问题排查和进阶优化技巧,助力开发者高效实现SLAM应用。

weixin_29271053的博客 470

LSM6DSOW陀螺仪轮询驱动:从I2C/SPI配置到数据读取全解析

惯性测量单元(IMU)是现代嵌入式系统中实现姿态感知与运动跟踪的核心传感器,其通过加速度计和陀螺仪测量线性加速度与角速度。在嵌入式开发中,轮询(Polling)作为一种基础且可靠的通信方式,通过主循环主动查询传感器状态,简化了初始调试与验证流程。对于I2C/SPI接口的数字传感器,掌握寄存器配置、数据就绪标志检查及原始数据转换是通用的驱动方法,能够快速验证传感器工作状态并理解数据流。LSM6DSOW作为一款高性能6轴IMU,支持可配置的量程与输出数据速率,适用于无人机飞控、手持云台等高动态场景。本文以LSM

weixin_28728265的博客 559

JAVA方法中的可变长参数

可变长参数是作为形参可以在方法调用时,可以接收多个实参的一种特殊形参形式。但其本质是将接收的数据转换为数组格式储存。可变长参数的诞生是在在JDK1.5的版本,也就是说我们要在JDK1.5以上的版本才可以使用。a 就是一个可变长参数。调用时:可变长参数的实参个数是可以随意的。以上三种调用格式都是正确的。一、什么是可变长参数。一、什么是可变长参数。

qq_57167753的博客 966

使用 Claude Skills 构建专业级 AI Agent:技术实践指南

Claude Skills(也称)是一组基于文件系统的可重用资源包,为 Claude 提供特定领域的专业知识、标准化工作流程和最佳实践。与传统一次性 Prompt 不同,Skills 是持久化、自动触发、支持代码执行的智能模块。让 AI 真正理解并执行你的工作方式。Claude Skills 正在重新定义 AI 助手的边界——从“回答问题”升级为“执行专业工作的能力”。其可组合、可移植、高效、强大的特性,使其成为自动化重复任务、标准化工作流、提升团队效率的理想工具。未来已来。

weixin_44058951的博客 2226

Java 可变长参数

从 Java5 开始,Java 支持定义可变长参数,所谓可变长参数就是允许在调用方法时传入不定长度的参数。可变长参数允许方法接受任意多个相同类型的参数,在方法内部可以将这些参数视为数组来处理。Type...可变长参数只能作为方法的最后一个参数,一个方法最多只能有一个可变长参数。当调用带有可变长参数的方法时,可以向方法传递任意数量的实参,编译器会将这些实参封装成数组,并传递给方法内部进行处理。如果没有实参传递给可变长参数,那么该参数将被视为长度为 0 的数组。

tszc95的博客 912

tewa-707e光猫超级密码获取方法

这款光猫很魔性,没有WIFI,没有USB接口,没有Telnet,试了很多方法去获取超级密码都不行。解密时可能会报错,可能是文件后面部分不晓得是咋拼接过来的,用AES解密时分组数据有问题。3、这个文件是用AES加密了的,直接打开是乱码,所以得用AES解密,key为16个字节的 x00。打开解出来的文件,然后搜索 telecomadmin,就可以发现超级密码了。参考资料里面的光猫不是同一款,但解密的方法基本相同的。

shaowl111的专栏 1万+

YOLOv8自定义训练:车牌识别全流程(从标注到推理,附可视化代码)

车牌检测全流程实践指南 摘要:本文详细介绍了基于YOLOv8的车牌检测完整实现方案。针对车牌检测中的三大难点(小目标、多角度、光照变化),提供了从数据准备到模型部署的全流程解决方案。重点包括:1)数据采集与标注规范;2)针对小目标的YOLOv8模型优化配置;3)K-means锚框聚类方法;4)训练参数调优策略。通过实际验证,该方法可获得95%以上的检测准确率,并附有完整的代码实现和可视化工具,便于开发者快速复现应用。 (字数:149字)

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 851

java变长参数

本文来源于:http://www.cnblogs.com/lanxuezaipiao/p/3190673.html 在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如print("hello");print("hello","lisi");print("hello","张三", "alexia");下

冬青的专栏 1985

【表面缺陷检测】基于yolov5的钢轨表面缺陷检测(附代码和数据集,Windows系统)

【表面缺陷检测】基于yolov5的钢轨表面缺陷检测(附代码和数据集,Windows系统)

学无止境、积少成多、厚积薄发 3986

java中函数使用变长参数

java中函数使用变长参数 2010-01-01 21:09 当参数个数不确定时,开发者很想使用变长参数,让调用者以更灵活的方式调用。此种方法和方法重载有同样的效果,但是个人感觉比方法重载用着简洁。一直知道Java支持变长参数函数,然而项目中一直没有用到,前几天在项目中看到前辈大量使用变长参数,感觉有很好的效果。特别是API设计中能够解决很多不确定因素。下面是一个简单的

Athenaer的专栏 4911

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

java变长参数,是怎样变长的?

java方法支持变长参数。这样能够极大地简化我们的编程。我们看这样一段代码: public class Args { public static void main(String[] args) { String two = stringConcat("A", "B"); String three = stringConcat("A", "B", "C"...

guohengcook的博客 2984

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java scala中传递变长参数

1.java中传递变长参数 在java中传递变长参数的方式为...,看个简单的实例 public static void argsTest(String... args) { for(String each: args) { System.out.println(each); } } public static vo...

bitcarmanlee的博客 996

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java变长参数_Java 变长参数(8)

https://mp.weixin.qq.com/s/yKCUlvaL9GwgpvSjBtvihQhttps://mp.weixin.qq.com/s?__biz=MzI3ODc3NzQ4NQ==&mid=2247483751&idx=1&sn=be19baaeb35b1b26f40ea3197fa77fa7&chksm=eb509a85dc27139306b057...

weixin_42474537的博客 228

Java变长参数列表

例子: /** * 变长参数列表 * @author HailongYao * */ public class Longer { //变长参数列表的声明方式为,在方法最后一个参数的类型后面加上省略号(...), //指明最后一个参数可以重复零次或多次。 public static int max(int first, int... rest) { int max = firs...

csdn_yaohailong的博客 725

Java 变长参数Varargs

Varargs (variable arguments)可变长参数 ...

yqj2065的博客 3050

java中可变长参数

1 ** 2 * Created by Lenovo on 2017/12/10. 3 * java中可变长参数 4 */ 5 public class reflect04 { 6 7 //m1有一个int类型的可比变长参数 8 //m1在调用的时候实参可以是0-N个 9 public static void m1(i...

ao63946的博客 111

Java 可变长参数列表

Java中定义了变长参数,允许在调用方法时传入不定长度的参数。 定义及调用 在定义方法时,在最后一个形参后加上三点…,就表示该形参可以接受多个参数值,多个参数值被当成数组传入。上述定义有几个要点需要注意: 可变参数只能作为函数的最后一个参数,但其前面可以有也可以没有任何其他参数 由于可变参数必须是最后一个参数,所以一个函数最多只能有一个可变参数 Jav...

dianshu1593的博客 260

java 变长参数

package day20151020jdbc;import java.util.Arrays;/** * 变长参数 */ public class Test { public static void main(String[] args) { test("a","b","c","d"); } //String...strings : 变长参数,实际上是数组

wahxsm的博客 655
上一篇: Java中使用ResourceBundle访问资源文件(properties文件)
下一篇: 索引的作用有多大?
Java_Web_Book
博客等级 码龄18年 8粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值