可变参数

java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。

注意:可变参数必须位于最后一项。

原因:当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。

可变参数的特点:

(1)只能出现在参数列表的最后;

(2)...位于变量类型和变量名之间,前后有无空格都可以;

(3)调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。

public static void main(String[] args) {

System.out.println("test1:");

test(1,"a","b","c","d");

System.out.println("test2:");

test(2,new String[] {"a", "b", "c"});

}

/**

* 测试方法

* @param params 参数

* */

public static void test(int intParam,String... params){

System.out.println("int:"+intParam);

//遍历参数内容

for(String temp : params){

System.out.println(temp);

}

System.out.println();

结果:

test1:

int:1

a

b

c

d

test2:

int:2

a

b

c

那么可不可以使用多个可变参数作为入参呢?答案是不可以的,原因跟上一个错误差不多,这种可变参数需要放到最后一个入参,多个可变参数,不可能都最为最后一个入参。相较于String[]这种形式的入参,我理解的优势大概就是可以多个String传入,也可以Sting[]传入,就是test1的调用入参这样。

参考

恒大java_java可变参数相关推荐

  1. 大数据学习day16-Set接口、Map、可变参数

    大数据学习day16 Set接口.Map.可变参数 今日内容 Set接口中hashSet LinkedHashSet Map集合特点 Map集合的遍历方式 方法可变参数 斗地主案例排序 总结 第一章 ...

  2. python 默认参数_有趣的 Python 特性 3 | 当心默认可变参数这个大猪蹄子。

    本文字数:1575 字 阅读本文大概需要:4 分钟 写在之前 Python 提供了很多让使用者觉得舒服至极的功能特性,但是随着不断的深入学习和使用 Python,我发现其中存在着许多玄学的输出与之前预 ...

  3. python注解实现原理_Python3注解+可变参数实现

    一.说明 1.1 关于注解 关于注解这个东西,最早是在大学学java的时候经常会看到某些方法上边@override之类的东西,一方面不知道其作用但另一方面似乎去掉也没什么影响,所以一直都不怎么在意. ...

  4. 可变参数中size_t遇见的问题

    在修改php扩展Trie时,出现了一个小bug PHP_FUNCTION(trie_filter_load) {Trie *trie;char *path;int path_len;if (zend_ ...

  5. 【C 语言】C 语言 函数 详解 ( 函数本质 | 顺序点 | 可变参数 | 函数调用 | 函数活动记录 | 函数设计 ) [ C语言核心概念 ]

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

  6. python中可变参数和关键字参数_python的可变参数和关键字参数(*args **kw)

    本文是来自廖大的python教程其中我一直忘记的部分.算是一个笔记把.因为日常这俩参数名字一直搞混 可变参数 在Python函数中,还可以定义可变参数.顾名思义,可变参数就是传入的参数个数是可变的,可 ...

  7. 20_集合_第20天(Map、可变参数、Collections)

    今日内容介绍 1.Map接口 2.模拟斗地主洗牌发牌 01Map集合概述 A:Map集合概述: 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式 ...

  8. python中可变参数args_python 可变参数 *args, **kwds

    关键字可变参数-字典 #!/usr/bin/env python# -*- coding: UTF-8 -*-def dictVarArgs(arg1, arg2='defaultB', **theR ...

  9. python中关键字参数的特点_Python中的*可变参数与**关键字参数

    1.定义了一个需要两个参数的函数 def print_str(first, second): print first print second if __name__ == "__main_ ...

最新文章

  1. Android驱动学习-内部机制_回顾binder框架关键点
  2. 刚刚!我被产品小姐姐的笔记本深深吸引了....
  3. PHP扩展模块Memcache Redis Mssql部署
  4. 【 FPGA 】序列检测器的Mealy状态机实现
  5. 怎么查看自己电脑的配置_怎么查看自己网卡是千兆网卡还是百兆网卡
  6. 记事本写python怎么运行-从头学Python之编写可执行的.py文件
  7. SDUT 2401 最大矩形面积
  8. Struts 2(一):初识Struts
  9. PHP实现二叉树的深度优先遍历(前序、中序、后序)和广度优先遍历(层次) 转载陈小龙哈2017...
  10. linux命令行下载github文件,Linux命令行下使用GitHub
  11. HTML5本地存储不完全指南
  12. android 浏览器 pc一样大小,手机端不同浏览器[主流的,包括Android自带]对cookie的不同限制,如个数和大小,如何查看?...
  13. BZOJ2243: [SDOI2011]染色
  14. 【李宏毅2020 ML/DL】P106 More about Life Long Learning
  15. [leetcode]1131. 绝对值表达式的最大值 --绝对值表达式枚举拆分的方法
  16. python中unique()与nuniqe()用法
  17. 怎么寻找java实例,Java 实例 – 在指定目录中查找文件
  18. C#点餐系统源码,在线订餐系统源码
  19. 打开.pos文件--ProcessOn
  20. HTML5会砸掉iOS和Android的饭碗么?

热门文章

  1. 安装oracle过程中卡在45%不动的解决办法
  2. js求(1~n)之间 素数之和
  3. 简介企业如何通过企业erp系统实现智能化管理?
  4. 23西南大学电子信息专硕经验贴——常见问题
  5. Hadoop集群环境搭建(超详细)
  6. in作为介词的用法_语法专题:介词in的使用规则
  7. spring cloud contract的应用实现与概念理解-服务提供者一侧的落地
  8. 考研高数之无穷级数题型一:判断收敛性、求收敛半径以及收敛域和收敛区间(题目讲解)
  9. ACM2019春季训练- How Many Tables HDU - 1213(初识并查集+转倚天屠龙记故事)
  10. XXL-JOB快速安装使用教程