调用方法
具体方法实现
今天在项目中看到一段代码,之前没见过。特此记录一下,自己写了一段测试代码,具体代码的作用我就写在注释上面了
public class Mytests {
//创建
private Mytests() {
test();
test("a", "b");
test(new String[] { "aaa", "bbb" });
test("ccc");
}
private void test() {
System.out.println("test");
}
private void test(String... strings) {
for (String str : strings) {
System.out.print(str + ", ");
}
System.out.println();
}
public static void main(String[] args) {
new Mytests();
Map map = new HashMap();
map.put("name", "吴林飞");
map.put("age", "23");
map.put("sex", "男");
map.put("sex", "男");
List lsit = new ArrayList<>();
lsit.add(1);
lsit.add(2);
lsit.add(3);
map.put("list", lsit);
System.out.println("map+" + map.get("list"));
Mytests.sss(map, "name", "age", "sex", "list");
}
//String... 类型后面跟三个".",表示能够定义多个参数,这段代码中是将参数作为map的key来使用的
public static void sss(Map map, String... params) {
for (String s : params) {
System.out.println(s + "|||" + params);
//instanceof 这个关键字标识对比值是否是list类型,当然这边也可以是对象,后面的类型也是是其他的,map,String等等都可以
if (map.get(s) instanceof List) {
System.out.println("list" + map.get(s));
break;
} else {
System.out.println("进入这个了" + s);
}
}
}
}
上面这段代码执行之后的运行结果: