首先,我是为了了解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。因此,把这句代码注释掉,运行成功。