java参数后面跟三个点是什么意思
前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到教程。
AVA中類型后面跟三個點(diǎn)是什么來的。??
看代碼中那個三點(diǎn),這樣做起到重載的作用,但這是什么意思???
class?Father??
{??
????public?void?foo(String...?s)??
????{??
????????System.out.println("Father:foo");??
?????????
????}??
?????public?void?bar(String?s)??
????{??
????????System.out.println("Father:bar");??
????}??
}??
class?Son?extends?Father??
{??
??????
????public?void?foo(String?s)??
????{??
????????System.out.println("Son:foo");??
????}??
?????
?????public?void?bar(String?s)??
????{??
????????System.out.println("Son:bar");??
????}??
}??
===============================================================??
不懂這句是什么意思?public?void?foo(String...?s)??
最佳答案??
?
可變數(shù)組參數(shù)。用...的話,傳參數(shù)時可傳可不傳,傳的話,可以是一個個并列地傳,也可以直接是一個數(shù)組。??
在方法里取時,s是一個數(shù)組,如果調(diào)用時什么都沒有傳,那么s的長度就是0。傳的時候傳了幾個,s的長度就是幾。??
還有,1.5以上才支持這個功能。???
寫的例子:??
public?class?Number3?{??
?public?static?void?main(String[]?args)?{??
??printString();??
??System.out.println("==========");??
??printString(new?String[]{"我","和","你"});??
??System.out.println("==========");??
??printString("我","和","你");??
?}??
?public?static?void?printString(String...?str){??
??if(str.length==0){??
???System.out.println("沒有傳參數(shù)。");??
??}??
??for?(int?i?=?0;?i?<?str.length;?i++)?{??
???System.out.println(str[i]);??
??}??
?}??
}??
================================================??
java中這種寫法是什么意思???
2011-4-6?16:12?提問者:g882?|?瀏覽次數(shù):409次??
private?void?removeTempFiles(String...?fileNames)?{??
????????for?(String?fileName?:?fileNames)?{??
????????????try?{??
????????????????new?File(fileName).delete();??
????????????}?catch?(Exception?e)?{??
????????????}??
????????}??
????}??
其中,??String...?fileNames???代表什么意思???
2011-4-6?16:26?最佳答案??
類型后面三個點(diǎn)(String...),是從Java?5開始,Java語言對方法參數(shù)支持一種新寫法,叫?可變長度參數(shù)列表,其語法就是類型后跟...,表示此處接受的參數(shù)為0到多個Object類型的對象,或者是一個Object[]。?例如我們有一個方法叫做test(String...strings),那么你還可以寫方法test(),但你不能寫test(String[]?strings),這樣會出編譯錯誤,系統(tǒng)提示出現(xiàn)重復(fù)的方法。??
在使用的時候,對于test(String...strings),你可以直接用test()去調(diào)用,標(biāo)示沒有參數(shù),也可以用去test("aaa"),也可以用test(new?String[]{"aaa","bbb"})。??
另外如果既有test(String...strings)函數(shù),又有test()函數(shù),我們在調(diào)用test()時,會優(yōu)先使用test()函數(shù)。只有當(dāng)沒有test()函數(shù)式,我們調(diào)用test(),程序才會走test(String...strings)。??
例一:??
public?class?Ttest?{??
????//private?static?int?a;??
????public??static??void?test(int...?a){??
??????????????for(int?i=0;i
?????????????????????System.out.println(a[i]);??
??????????????}??
????}??
????public?static?void?main(String[]?args)?{??
????????Ttest.test(1,2);??
????}??
}??
例二:???
String...?excludeProperty表示不定參數(shù),也就是調(diào)用這個方法的時候這里可以傳入多個String對象。??
?public?static?void?main(String[]?args)?{??
????????????//測試,傳入多個參數(shù)??
????????????test("hello",?"world",?"13sd",?"china",?"cum",?"ict");??
????????}??
????????public?static?void?test(String...?arguments)?{??
????????????for?(int?i?=?0;?i?<?arguments.length;?i++)?{??
????????????????System.out.println(arguments[i]);??
????????????}??
????????}?
總結(jié)
以上是生活随笔為你收集整理的java参数后面跟三个点是什么意思的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows Mobile系列手机操作
- 下一篇: eclipse启动tomcat 访问ht