public Spider addUrl(String... urls) { //这种写法
for (String url : urls) {
addRequest(new Request(url));
}
signalNewUrl();
return this;
}
这段代码中(String... urls)写法怎么理解
------解决思路----------------------
大概就是多个参数的意思,你可以传一个String,两个String,或者多个String
------解决思路----------------------
(String... urls)叫可变长参数. 使用这个关键字 "java 可变长参数"在百度中搜索能够获取更多详细信息.
http://www.cnblogs.com/lanxuezaipiao/p/3190673.html 这篇对写的就是 java 可变长参数 的基本用法
------解决思路----------------------
看个例子估计你就明白了:
//递归方法切换
private static void switchRecursion(File file,
String switchType,Object... args) {
switch (switchType) {
case "renameFileName":
renameFileName(file,args);
break;
case "renameSuffix":
renameSuffix(file,args);
break;
default:
break;
}
}
调用:
@Test
public void testFileOperation(){
File file = new File("F:/Download");
final Map<String,String> filterMap = new HashMap<String, String>(){{
put("ed2000.com",Symbol.EMPTY);
put("[迅雷仓XunLeiCang.com]幸福请你等等我HDTV","幸福请你等等我");
}};
//此方法调用 Object数组只传入一个map对象
FileUtil.recursion(file, "renameFileName", new Object[]{filterMap});
//此方法调用 Object数组传入三个String对象
FileUtil.recursion(file,"renameSuffix",new Object[]{".jpg",".png","bmp"});
}