JAVA5提出的新思想,基于新的for循環(huán)結(jié)構(gòu):for(String str : strList){ ... }所產(chǎn)生了一系列的新奇東東,包括范型Collection<Object> ,還有可變參數(shù) 等等
不過(guò)我覺(jué)得可能是Collection的范型支持先出現(xiàn),然后才引入了這種迭代結(jié)構(gòu)
可變參數(shù)倒是比其中一個(gè)較好玩的東西:
像上面的這樣,可變參數(shù)就是在普通的參數(shù)后面加上三個(gè)"."。
我沒(méi)有發(fā)現(xiàn)可變參數(shù)有什么太大的用處,在J2EE的框架開發(fā)中幾乎用不到,不過(guò)當(dāng)有時(shí)候我們不確定參數(shù)到底有幾個(gè)時(shí)倒是可以用這種方式來(lái)代替以往傳遞一個(gè)數(shù)組的方式。
可變參數(shù)同時(shí)可以跟固定的參數(shù)混合使用。
但同時(shí)可變參數(shù)有一些限制:一個(gè)方法的參數(shù)中不能同時(shí)擁有2種類型的可變參數(shù),也就是說(shuō):
public void foo(String ... str,Integer ... i)這樣是不行的
不過(guò)我覺(jué)得可能是Collection的范型支持先出現(xiàn),然后才引入了這種迭代結(jié)構(gòu)
可變參數(shù)倒是比其中一個(gè)較好玩的東西:
?1
public?class?test_varargs?
{
?2
????public?static?void?varargs(String?
?str)
{
?3
????/**//*?
?4
????????這里str參數(shù)前面有三個(gè).?表示str為可變參數(shù)
?5
????????程序處理時(shí)隱式的把str看作是str[]
?6
????????所以下面可以用處理數(shù)組的方法處理參數(shù)
?7
????*/
?8
????????for(String?strTmp:str)
{
?9
????????????System.out.println("參數(shù)::"+strTmp);
10
????????}
11
????}????
12
????public?static?void?main(String[]?args)?
{
13
????????varargs("1:Hello","eqwe","ewq12123","ccccc");
14
????}
15
}



?2




?3


?4

?5

?6

?7

?8



?9

10

11

12



13

14

15

像上面的這樣,可變參數(shù)就是在普通的參數(shù)后面加上三個(gè)"."。
我沒(méi)有發(fā)現(xiàn)可變參數(shù)有什么太大的用處,在J2EE的框架開發(fā)中幾乎用不到,不過(guò)當(dāng)有時(shí)候我們不確定參數(shù)到底有幾個(gè)時(shí)倒是可以用這種方式來(lái)代替以往傳遞一個(gè)數(shù)組的方式。
可變參數(shù)同時(shí)可以跟固定的參數(shù)混合使用。
但同時(shí)可變參數(shù)有一些限制:一個(gè)方法的參數(shù)中不能同時(shí)擁有2種類型的可變參數(shù),也就是說(shuō):
public void foo(String ... str,Integer ... i)這樣是不行的
public Criteria createCriteria(Criterion... criterions) {
return createCriteria(getEntityClass(), criterions);
}
public static void O(Object...objects){
}