JAVA SE5为什么提出可变形参的概念?
RT,使用int fun(String [])和使用int fun(String ...)都是代表String参数的个数不确定。
那么提出(Sting ...)的根本原因是什么?它能解决的问题使用(String [])不能解决吗??可能是我没学多久,没有了解好处,所以请有经验的大牛指点一下。谢谢~ JAVA
[解决办法]
public static void testArray() {
/**
* 用countString(String[] arr)能做到的, countString1(String... arr) 都能做到。
* 可是反过来是不成立的。
* 比如:我只需要传入一个Sting,而不是一个Stirng[]的数组,那么countString(String[] arr)就做不到。
*/
String[] arr0 = {"hello","hello"};
System.out.println(countString(arr0));
System.out.println(countString1(arr0));
System.out.println(countString1("hello"));
System.out.println(countString1("hello","world","home"));
}
/**
* 可以接受的参数:String[]数组,单个String,多个String的列表
* @param arr
* @return
*/
private static int countString1(String... arr){
return arr.length;
}
/**
* 只能接受String[]数组作为参数
* @param arr
* @return
*/
private static int countString(String[] arr){
return arr.length;
}