前言
方法的入参为可变参数时,应该如何传参?
实现
理论
对于入参为可变参数的方法,在传参时把参数转为数组类型即可。
代码
package demo;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.List;
/**
* @author 郎家岭伯爵
* @time 2024/1/16 10:02
*/
public class Demo {
public static void main(String[] args) throws Exception {
// List类型
List<String> myList = List.of("one", "two", "three");
myMethod(myList.toArray(new String[0]));
// String类型
String s = "1,2,3";
myMethod(s.split(","));
// JSONObject类型
JSONObject obj1 = new JSONObject();
obj1.put("key1", "value1");
JSONObject obj2 = new JSONObject();
obj2.put("key2", "value2");
JSONArray jsonArray = new JSONArray();
jsonArray.add(obj1);
jsonArray.add(obj2);
myMethod(jsonArray.toArray(new JSONObject[0]));
}
public static void myMethod(String... args) {
for (String arg : args) {
System.out.println(arg);
}
}
public static void myMethod(JSONObject... args) {
for (JSONObject arg : args) {
System.out.println(arg);
}
}
}
输出:
one
two
three
1
2
3
{"key1":"value1"}
{"key2":"value2"}
总结
对于入参为可变参数的方法,在传参时把参数转为数组即可。