JAVA可变参数 ( IDEA演示 )

简介: 在 Java 5 中提供了变长参数,允许在调用方法时传入不定长度的参数,本质上还是基于数组的实现在定义方法时,在最后一个形参后加上三点 …,就表示该形参可以接受多个参数值,多个参数值被当成数组传入。可变参数格式:可变参数作用:输出结果:一个形参列表中可变参数只能有一个 可变参数必须放在形参列表的最后面ArrayList工具类有一个静态方法:public static List asList(T…a){},对返回集合不能进行增删,可以修改List接口有一个静态方法:public stat

目录

前言

一、定义方法

二、演示

三、注意事项

四、可变参数API使用


前言

在 Java 5 中提供了变长参数,允许在调用方法时传入不定长度的参数,本质上还是基于数组的实现


一、定义方法

在定义方法时,在最后一个形参后加上三点 …,就表示该形参可以接受多个参数值,多个参数值被当成数组传入。

可变参数格式:

数据类型 . . . 参数名称

可变参数作用:

可以不传,可以传一个或多个,也可以传一个数组  

二、演示

public static void sum(int...nums) {
    System.out.println("元素个数:" + nums.length);
    System.out.println("元素内容" + Arrays.toString(nums));
}

image.gif

public static void main(String[] args) {
    sum();            //不传参数
    sum(1);           //传一个参数
    sum(1,2,3);         //传多个参数
    sum(new int[]{1, 2, 3, 4}); //传一个数组
}

image.gif

输出结果:

image.gif

三、注意事项

一个形参列表中可变参数只能有一个  

image.gif

可变参数必须放在形参列表的最后面

image.gif

四、可变参数API使用

ArrayList工具类有一个静态方法:

public static List asList(T…a){},对返回集合不能进行增删,可以修改

List接口有一个静态方法:

public static List of(E…elements){},返回集合不能增删改。

Set 接口有一个静态方法:

public static set of(){},不能有重复元素,不能增删,没有修改

注意事项:

List.of()和Set.of()在Jdk9 以后版本可以使用。


 总结

什么时候使用可变参数?

在不确定方法需要处理的对象的数量时可以使用可变长参数,会使得方法调用更简单。

目录
相关文章
|
25天前
|
IDE Java 编译器
五分钟学Java:可变参数究竟是怎么一回事?
五分钟学Java:可变参数究竟是怎么一回事?
|
12天前
|
Java Maven
Class path contains multiple SLF4J bindings,后来找到的解决思路是idea2019.3必须用java11和idea2019.3版本,必须用applicatio
Class path contains multiple SLF4J bindings,后来找到的解决思路是idea2019.3必须用java11和idea2019.3版本,必须用applicatio
|
12天前
|
Java
Error:Internal error: (java.lang.IllegalAccessError) class com.,idea2019.3版本,必须用application2.7.6或者以下
Error:Internal error: (java.lang.IllegalAccessError) class com.,idea2019.3版本,必须用application2.7.6或者以下
|
3天前
|
Java
idea启动java服务报错OutOfMemoryError: GC overhead limit exceeded解决方法
idea启动java服务报错OutOfMemoryError: GC overhead limit exceeded解决方法
|
5天前
|
存储 Oracle Java
Java面试题:描述如何使用Eclipse或IntelliJ IDEA进行Java开发?
Java面试题:描述如何使用Eclipse或IntelliJ IDEA进行Java开发?
10 0
|
17天前
|
移动开发 小程序 关系型数据库
java+ IDEA+ Uniapp+ mysql医院3D智能导诊系统源码
这是一个基于Java、IDEA、Uniapp和MySQL的医院3D智能导诊系统,采用Springboot后端框架和Redis、Mybatis Plus、RocketMQ等技术。系统通过对话式交互,精准推荐就诊科室,解决患者挂号困扰。它还具备智能预问诊功能,提升诊疗效率和准确性,确保医生能快速了解患者详情。此系统还支持小程序和H5,方便患者使用。
21 0
|
20天前
|
Java 开发者
java开发者工具IDEA自定义设置主题/字体/字号大小
java开发者工具IDEA自定义设置主题/字体/字号大小
17 0
|
20天前
|
JSON Java 数据格式
IDEA插件-JSON转java类
IDEA插件-JSON转java类
38 0
|
20天前
|
Java 开发工具 git
java开发配置全局git忽略文件(IDEA)
java开发配置全局git忽略文件(IDEA)
14 0
|
21天前
|
Java
Intellij idea 报错:Error : java 不支持发行版本5
Intellij idea 报错:Error : java 不支持发行版本5
19 0