[英]Class not found error in Java when using an enum
我有以下代碼:
enum CarEnum {
BMW("BMW"), TOYOTA("Toyota"), FORD("Ford");
String name;
CarEnum(String s) {
name = s;
}
}
class Cars {
static CarEnum a;
public static void main(String[] args) {
System.out.println(a.BMW.name + " " + a.FORD.name);
}
}
在名為Cars.java的文件中
當我嘗試運行此命令時,出現以下錯誤:
java.lang.NoClassDefFoundError: Car
Caused by: java.lang.ClassNotFoundException: Car
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Exception in thread "main"
為什么說找不到車類?
1 /您的代碼有效,我立即將其復制/粘貼
2 /您在Exception中提到了Car
類,但是代碼中沒有Car
類
3 /您確定要啟動一流的主方法嗎?
嘗試這樣:
public class Cars {
enum CarEnum {
BMW("BMW"), TOYOTA("Toyota"), FORD("Ford");
String name;
CarEnum(String s) {
name = s;
}
}
static CarEnum a = CarEnum.BMW;
public static void main(String[] args) {
//you never initialized your a so you can print
System.out.println(a.name);
//or to check all your Enums Names
System.out.println(CarEnum.BMW.name + " " + CarEnum.Ford.name);
}
}
唯一的問題是,運行代碼后,您給了java Car
而不是java Cars
命令。
請重新檢查文件名。 因為錯誤引用代碼中不可用的Car
。 嘗試將文件重命名為Cars.java
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.