不定长参数作用

Posted 一乐乐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不定长参数作用相关的知识,希望对你有一定的参考价值。

先定义好方法传递参数数量,但是需要传入多个参数值时---不定长参数(+将数组的每个元素变成集合中的每个元素)

注意细节:当原先方法中有操作:集合List.add(参数 var1); 这时候集合添加了一个元素(var1)

但是修改为不定长参数时: 集合List.add(不定长参数 var2); 这时候集合添加的是一个数组元素(var2),而非不定长数组var2中的每个元素被添加为集合的元素

✿ 解决:先将数组转成集合listVar2,然后集合List.addAll(集合listVar2),就可以将数组的每个元素变成集合中的每个元素

1、方法一个参数param---用来传入一个变量,且方法中集合添加变量的操作:List.add(参数 var1);

    //定义好一个参数param---用来传入一个变量
	protected void addQuery(String condition, Object param) 
		this.conditions.add(condition);
		this.parameters.add(param);
	

	//拼接关键词
	if (keyword != null) 
		super.addQuery("name LIKE ?","%" + keyword + "%");
	

2、方法不定长参数param---用来传入多个变量,且方法中集合添加变量的操作:

先将数组转成集合listVar2,然后集合List.addAll(集合listVar2),就可以将数组的每个元素变成集合中的每个元素
	 //定义好不定长参数param---用来传入多个变量
	protected void addQuery(String condition, Object... param) 
		//细节:不定长的参数是数组----集合parameters.add(数组)是将数组作为一个元素添加进来
		//解决:先将数组转成集合,然后集合parameters.addAll(集合)
		this.conditions.add(condition);
		this.parameters.addAll(Arrays.asList(param));
	
   
	//拼接关键词
	if (keyword != null) 
		super.addQuery("(name LIKE ? OR dormBuildId LIKE ?)","%" + keyword + "%", "%" + keyword + "%");
	

以上是关于不定长参数作用的主要内容,如果未能解决你的问题,请参考以下文章

bug诞生记——不定长参数隐藏的类型问题

不定长参数可变参数

python-输入不定长参数函数传值

在请求中传入不定长参数实现不同的逻辑处理的解决办法

45.不定长参数字典

python_30期不定长参数/动态参数 *arges