當我將String ... y中的go方法更改爲字符串數組參數時,我在下面的代碼中收到錯誤。有人可以解釋爲什麼嗎?使用java的字符串數組參數錯誤
public class scjp2 {
public static void main(String[] args) {
new scjp2().go(1,"hi");
new scjp2().go(2,"hi", "world");
}
public void go(int x,String...y) {
System.out.print(y[y.length - 1] + " ");
}
}
也可以有人解釋爲什麼我需要有串... Y參數作爲方法的最後一個參數
例如:
public void go(int x,String...y) // correct way
public void go(String...y,int x) // wrong way
因爲這就是它的設計。例如:如果你有(String ... y,String x),編譯器如何知道哪一個仍然是y的一部分,哪一個是x? – Stultuske