package arraypkg;
import java.util.Arrays;
public class Main
{
private static void foo(Object o[])
{
System.out.printf("%s", Arrays.toString(o));
}
public static void main(String[] args)
{
Object []o=new Object[]{1,2,3,4,5};
foo(o); //Passing an array of objects to the foo() method.
foo(new Object[]{6,7,8,9}); //This is valid as obvious.
Object[] o1 = {1, 2}; //This is also fine.
foo(o1);
foo({1,2}); //This looks something similar to the preceding one. This is however wrong and doesn't compile - not a statement.
}
}
在前面的代碼片斷除了最後一個的所有表達式被編譯和運行良好。儘管最後一條語句看起來與其直接語句相似,但編譯器會發出編譯時錯誤 - 表達式的非法開始 - 而不是語句。爲什麼?直接傳遞數組初始化的方法參數不起作用
這是語言的缺點。希望他們有一天能解決這個問題 – irreputable