我无法返回枚举值?抛出异常,为什么?

时间:2013-12-05 18:04:15

标签: java exception enums

我发现这堂课有些困难(不是我写的),只发布受该问题影响的班级部分:

public class Drive {
    .........................
    .........................
    public enum DriveMode {
    None, Stub, Mirror
    };
    .........................
    .........................

    public String getModeString() {
        return mode.toString().toLowerCase();
    }
}

问题是,当我从另一个类中尝试调用 getModeString()方法时,它会给我一个错误(抛出异常)

事实上,我打电话到另一个班级:

if(drive.getModeString() != null)
    driveElement.getChild("mode").setText(drive.getModeString());

并使用调试我看到它在调用 drive.getModeString()时出错,然后尝试执行 return mode.toString()。toLowerCase(); 但是:

1)如果,在调试器中,我尝试评估表达式 mode.toString()。toLowerCase()它告诉我:<error(s)_during_the_evaluation>如果我继续进行调试到下一步抛出NullPointerException

为什么呢?有人对如何解决它有一些想法吗?

TNX 安德烈

1 个答案:

答案 0 :(得分:2)

最有可能mode字段为空。