Re: [問題] 將array丟進method中
※ 引述《PsMonkey (痞子軍團團長)》之銘言:
: ※ 引述《Arthurseed (Arthur)》之銘言:
: : 各位大大你們好:
: : 小弟我遇到一個問題想請教
: : 以下是我的code
: : int eventNum = 4;
: : Event[] eventList = new Event[eventNum];
: : eventList[0] = new Event({"a","b"});
: : ^^^^^^^^^^
: : eventList[1] = new Event({"c","d"});
: : eventList[2] = new Event({"e","f"});
: : eventList[3] = new Event({"g","h"});
: : 以上標註部分,我想在Constructor時將一個String array丟到class中
: : 我不想創一個array,想向上面那樣直接吃
: : 這樣寫complier一直過不了.....
: : 請問我該怎麼做呢??
: 我不確定為甚麼你不想弄一個 array 來傳
: 如果是 memory 問題,那其實(應該)沒差
: 尤其你又是字串陣列 XD
: 當然上一篇的方法也是解決之道(不過我不太喜歡那招)
: 如果是我的話,我會這樣寫
: Event e = new Event(new String[]{"a","b"});
: ====
: 比較有趣的是,如果像你這樣寫
: 在 Eclipse 炸的 syntax error 好詭異...
原PO那種字串陣列宣告本來就是錯的~
Java 陣列宣告兩種:
一種是原PO EventList那種方法,先給長度再一個個給值。
另一種是板主Ps猴這種方式,ex: new String[]{"a","b"}
另 String... strs 這種參數宣告方式有一個缺點,
就是Overload時,後面不可以再加參數了, 如:
public void doMyMethod(String... strs);
public void doMyMethod(String... strs, Object obj);
第二行 compiler會錯,這對程式延展性有一定程度的負面影響,
再者這寫法再1.5(5.0)以後才支援,有時候寫習慣還不是很好改回來 :P,
不過這寫法在某個層面來講來挺方便的就是。
所以還是要視你的Method(or Constructor)要做的事來決定。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.211.164.2
推
12/21 17:50, , 1F
12/21 17:50, 1F
→
12/21 17:52, , 2F
12/21 17:52, 2F
→
12/22 01:15, , 3F
12/22 01:15, 3F
→
12/22 01:17, , 4F
12/22 01:17, 4F
→
12/22 01:20, , 5F
12/22 01:20, 5F
推
12/22 01:32, , 6F
12/22 01:32, 6F
→
12/22 01:40, , 7F
12/22 01:40, 7F
→
12/22 01:56, , 8F
12/22 01:56, 8F
→
12/22 01:58, , 9F
12/22 01:58, 9F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):