首先,我是爲了瞭解main()函數裏的參數纔在Eclipse上編寫了這個代碼做測試。
然後爲了能方便的輸入參數查看運行結果,我在cmd下執行。
我們都知道,java.lang.NoClassDefFoundError 錯誤指的是類名爲ArrayToList的.class文件不存在,但是我的文件夾裏面確實有ArrayToList.java和ArrayToList.class文件,再看錯誤提示<wrong name:collections/ArrayToList>。我輸入的java後面的名字是ArrayToList,怎麼會是collections/ArrayToList呢?原來我在Eclipse下寫這個代碼時是在collections的包下面創建的,所以查看我的
源代碼:
package collections;
import java.util.Arrays;
import java.util.List;
public class ArrayToList {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// This gives us nothing good
System.out.println(args);
// Convert args to a List of String
List<String> argList = Arrays.asList(args);
// Print them out
System.out.println(argList);
}
}
package collections;
這句代碼讓我的類名發生了變化,它會在我的java指令後面的名稱ArrayToList前自動加上collections。因此,把這句代碼註釋掉,運行成功。