Java基础-可变长参数

python可变长参数 python参数 阅读详情

本篇目录

1、什么是可变长参数

2、可变长参数的定义

3、可变长参数的使用

4、遍历可变长参数

1、什么是可变长参数

可变长参数顾名思义是可以改变长度的参数,意为传入的参数个数可以不固定。

Java中什么数据类型可以改变长度?当然是数组。确实,在JDK5之前的确是使用数组来实现可变长参数的。

那么什么是可变长参数?如下代码:

public static void test(String[] args){
    for(String str:args){
        System.out.println(str);
    }
}

上面代码中的String[] args是不是可变长的参数?确实是可以实现的,但是可读性不高,所以有了下面的写法:

public static void test(String...args){
    for(String str:args){
        System.out.println(str);
    }
}

如上代码中的String...args就是我们要讲的可变长参数。

2、可变长参数的定义

可变长参数说到底还是一个参数,需要定义在方法的参数列表中,如:

public void test(int...nums){
	// 方法体
}

3、可变长参数的使用

参数分形参和实参,而可变长参数是定义在形参中,并且可以与其他类型的参数组合使用。需要注意的是,如果方法的形参有多个,那么可变长参数只能定义在参数列表的最后,并且方法的参数中只能有一个可变长参数,否则无法通过编译。

正确使用方式如下:

// 定义可变长参数的方法
public void test(Integer number,String...args){
}
// 调用如上方法
test(1,"可变长参数1","可变长参数2");

4、遍历可变长参数

要遍历这个可变长参数之前我们需要搞清楚它是一个什么数据类型,所以我们可以进行如下实验:

public void test(Integer number,String...args){
    System.out.println(number.getClass());
    System.out.println(args.getClass());
}

输出结果为:

class java.lang.Integer
class [Ljava.lang.String;

class的描述中,可变长参数以“[”开头,表示它是一个数组。既然是一个数组我们就可以以遍历数组的方式遍历这个可变长参数,如:

// 遍历可变长参数
public static void test(Integer number,String...args){
    System.out.println(number);
    for (String s : args) {
        System.out.println(s);
    }
}

在这里插入图片描述

可变长参数在Java中 在Java1.5之后在方法上传参时便出现了**"…"**,这三个点的学名叫做可变长参数,也就是相当于一个数组,能够传入0个至n个参数 public static void main(String[] args) { String[] t1 = {}; String[] t2 = {"java","C++"}; String t3 = "java"... 阅读详情

相关推荐

Python函数中*args和**kwargs来传递变长参数的用法

主要介绍了Python编程中使用*args和**kwargs来传递可变参数的用法,文中举了变长参数的例子,需要的朋友可以参考下

JAVA方法中的可变长参数

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

qq_57167753的博客 966

Java中可变长度参数代码详解

主要介绍了Java中可变长度参数代码详解,涉及了实参个数可变的定义方法,数组包裹实参等几个问题,具有一定参考价值,需要的朋友可以了解下。

Java 可变长参数

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

tszc95的博客 912

matlab特征提取和分类_SAST Weekly|MATLAB机器学习初探——做个心音分类器

SAST weekly 是由电子工程系学生科协推出的科技系列推送,内容涵盖信息领域技术科普、研究前沿热点介绍、科技新闻跟进探索等多个方面,帮助同学们增长姿势,开拓眼界,每周更新,欢迎关注!欢迎愿意分享知识的同学投稿至 eesast@mail.tsinghua.edu.cn , 期待你的作品!本期的SAST weekly,想跟大家分享一下如何用MATLAB进行初步的机器学习,构建一个正常/...

weixin_36453829的博客 5580

燧原科技云燧ESL64-O超节点:国产AI芯片与OEX光互联架构解析

分布式AI训练通过将计算任务拆分到多个节点并行执行来加速模型训练,其核心原理涉及数据并行和模型并行等策略。在技术价值层面,分布式训练能显著提升大规模深度学习任务的效率,但传统GPU集群常因网络通信瓶颈导致性能受限。OEX光互联架构作为解决通信瓶颈的关键创新,采用硅光技术实现高带宽、低延迟的节点内互联,优化了AI训练中的集合操作。这种硬件级优化特别适用于千亿参数大模型训练和科学计算等场景,能有效降低AI集群的总体拥有成本(TCO)。云燧ESL64-O超节点正是基于国产自研AI芯片与OEX架构的集成方案,为大规

weixin_29071809的博客 371

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——可变长参数

既然是参数,一定与方法有关 1、可变长参数形式:类型名... 可传递0~N个参数,都会执行方法 public class Test { public static void m1(int... a)//a为一个可变长参数 { System.out.println("Test"); } public static void main(String[] args) { m1(); m1(1); m1(1,3,5,7,9);//m1方法在调用的时候,传递的参数可以是0~N个 }

qq_39622795的博客 253

【DaVinci Developer专题】-36-创建一个“既读又写”的Sender Receiver Port(SR PR-Port)

有时会遇到SWC需要对一个Port进行“既可以读,也可以写”的操作。以下图为例,Test_A_SWC中Test_A_Port是P-Port;Test_B_SWC中Test_A_Port是R-Port。Test_C_SWC需要对Test_A_Port同时进行“读”和“写”。 该篇将详细介绍PR-Port的创建方法。 目录 1 创建一个S/R Port Interface 2 将一个PR-Port端口添加至Application Component 3 PR-Port端口初始化 4 Run.

「汽车电子助手」的博客 3013

Field Characteristics 深入解析,理解 SAP ABAP Analytics 中 Dimension 与 Measure 的真正边界

在SAP ABAP Analytics数据模型中,字段应建模为Dimension还是Measure,关键在于业务语义而非数据类型。Dimension提供分析上下文,构成数据坐标系,支持钻取与切片;Measure则需具备明确聚合语义(如#SUM、#MIN、#MAX),且必须满足Distinct(无重复)与Complete(无缺失)原则,确保聚合结果准确。错误的建模会导致聚合偏差,根源常在事实粒度不清或关联关系不当。因此,正确划分字段角色,本质是让Analytical Engine准确理解业务数据的分析逻辑。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 58

Java可变长参数

今天在看JavaScript的时候,知道了在function函数中不需要定义,但却可以直接用来获取所有参数变量,与Java中的可变长参数一样。 那么什么是Java的可变长参数呢? java 可变参数是1.5版本的新特性,也就是说用户若是想定义一个方法,但是在此之前并不知道以后要用的时候想传几个参数进去,可以在方法的参数列表中写参数类型或者数组名,然后在方法内部直接用操作数组的方式操作。 如下面代码...

weixin_44824500的博客 222

DBeaver配置本地mysql-connector驱动文件

本文摘要:介绍了数据库驱动管理的基本操作步骤:1)新建驱动管理器,填写MySQL驱动名称、类名和类型;2)添加本地MySQL驱动文件;3)创建数据库连接并测试。适用于MySQL5.x和8.x版本,帮助用户快速配置数据库连接。

litlit023的专栏 1689

java中可变长参数的使用方法

Java中可变长参数的使用及注意事项1. 可变长参数的定义使用…表示可变长参数,例如 print(String... args){ ... }在具有可变长参数的方法中可以把参数当成数组使用,例如可以循环输出所有的参数值。 print(String... args){ for(String temp:args) System.out.println(temp); }2. 可变长参数的

闵浮龙的博客 3924

出现 has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ header is present on the 解决方法

Access to XMLHttpRequest at 'http://127.0.0.1:5000/api/data' from origin 'http://10.197.0.79:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

码农研究僧的博客 1万+

笔试题-2023-大疆-数字IC设计【纯净题目版】

笔试题-2023-大疆-数字IC设计【纯净题目版】

w0shishabi的博客 2513

java中的可变长参数

什么叫做可变长参数:可变长参数就是我们给一个函数传参的时候,我们不确定具体传参的个数,就可以使用可变长参数,其本质就是一个数组 package test1; import java.util.LinkedList; public class testTest { public static void main(String[] args) { // TODO Auto-genera...

qq_37244548的博客 312

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Java 可变长参数的使用及特性

专栏原创出处:github-源笔记文件 ,github-源码 ,欢迎 Star,转载请附上原文出处链接和本声明。 Java 核心知识专栏系列笔记,系统性学习可访问个人复盘笔记-技术博客 Java 核心知识 [[toc]] 一、可变长参数的定义 使用 类型... 名称 定义为可变长参数(Varargs),一个方法只能有一个可变长参数并且必须是方法最后一个参数。 void method(Str...

2.wa 1161

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java可变长参数列表

package com.liufei.VariableParametersList; /** * Created with IntelliJ IDEA. * User: lenovo * Author: liufei * Description: java可变长参数列表 */ public class VariableParametersList { public static v

编程的艺术 2267

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java可变长参数列表

可以把类型相同但个数可变的参数传递给方法,方法的参数声明为: (类型名……参数名) 在方法声明中,指定类型后紧跟着省略号(...),只能给方法中指定一个可变长参数,同时该参数必须是最后一个参数,任何常规参数必须在它之前。Java将可变长参数当成数组对待,可以将一个数组或可变的参数个数传递给可变长参数,当用可变的参数个数调用方法时,Java会创建一个数组并把参数传给它。 printMax...

qq_38497266的博客 458

Java 基础--可变长参数

从Java5开始,Java支持定义可变长参数,所谓可变长参数就是允许在调用方法时传入不定长度的参数。就是比如下面的这个method1方法,可以接受0个或多个参数。遇到方法重载的情况怎么办呢?会优先匹配固定参数还是可变长参数的方法呢?答案是会优先匹配固定参数的方法,因为固定参数的方法匹配度更高。

weixin_57822278的博客 448

Java可变长参数的定义及使用

Java可变长参数的定义及使用 作者:郎佳星 什么是可变长参数: 可变长参数是一种参数集合,在集合中参数的数量的不确定的,可能为一个或者多个,也可能没有参数;在这个参数集合中的每个参数类型是不确定的,我们将这个参数集合称之为可变的长参数。 关于可变长参数...

chilupian3962的博客 2008
上一篇: Java基础 - 泛型
下一篇: Java基础-Java8新特性Lambda表达式
二饭
博客等级 码龄7年 1806粉丝 152原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二饭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值