我有这个问题: 我正在创建一个将DAYS转换为LESSONS的功能界面,DAYS和LESSONS都是枚举类型。 我想要实现的是一个有两种方法的接口: 一个STATIC方法将输入DAY枚举并返回一个LESSON。 另一种抽象方法是解析一组Days并返回一组Lessons。
问题在于第一种方法,我已经实现了它:
public interface Converter {
static Lessons inputConverter(Days input) {
switch (input) {
case MONDAY:
return Lessons.HISTORY;
case SUNDAY:
return Lessons.MATH;
default:
return Lessons.HISTORY;
}
}
}
然而,当我尝试使用它时:
Converter.inputConverter(Days.MONDAY);
我收到此错误:
线程“AWT-EventQueue-0”中的异常java.lang.IllegalAccessError: 更新到静态最终字段转换器。$ SWITCH_TABLE $尝试天数 来自与初始化程序不同的方法($ SWITCH_TABLE $ Days) 方法
如果我使用IF / ELSE语句没有错误,所以我认为问题在于交换机,但我无法理解我做错了什么,因为我没有尝试修改任何字段。