(因为我在一个特殊的情况下得到了这个错误,这对我来说真的很有意义。 我想分享一些其他地方未提及的类似问题的见解和解决方法......)
/* e.g. located in a src/main/java/mypkg/MyKeys.java file */
package mypkg;
public enum EditStatus { ... }
public enum CustomerTypeKey { ... } // the suggestion of an IDE could be
// to move this one to its own file
// ...
现在我希望将这些类型打包在一个文件中,如下面的答案中所述......
答案 0 :(得分:0)
虽然 一般不好的做法!(如图所示here)将多种类型放入一个" java容器"文件(你可以通过谷歌像我一样到达那里:-)),有(罕见的)情况这是有道理的,例如。
正确包含在 package-info.java (如注释类型等)或
如果你是重新生成许多(可能类似的性质)类型,并且为了简单起见,希望将其保存在一个文件中,例如如果你从数据库创建/保持同步枚举"键" (就像我必须)。
然后你可以包装某些"父类" ,例如
/** do not edit! auto-generated if DB schema changes */
class MyKeys {
public enum EditStatusKey { ... }
public enum CustomerTypeKey { ... }
... // maybe many(!) other types following
}
并通过MyKeys.EditStatusKey...
static
内部类(例如public static class EditStatusKeys { ... }
(以防你怀疑我的例子:围绕我的db-java-code同步逻辑的自动化对于处理多个文件是不必要的(从单个表中自动生成超过30种类型)并且Java环境中的好处不存在,使用它可能更糟糕)
答案 1 :(得分:0)
确保并检查类名是否与.java文件名相同,这就是我收到上述错误的原因。