如果声明检查似乎无法正常工作

时间:2014-03-21 16:19:57

标签: java

所以我有这段代码:

public Student(String name, String subject) {
        if(subject.substring(17,18) == "e"){
            subjectName = "English";
        }else if(subject.substring(17,18) == "m") {
            subjectName = "Math";
        }
        studentName = name;
    }

我正在以一个字符串的名义喂养学生,然后是一个像这样的形式的主题:

..\text\students\english\grades

现在我在其上使用子字符串并仅获取主题的第一个字母。如果这封信是e,那么课程名称是英文等等。

但由于某些原因,我的IF检查根本没有通过,如果我在其中抛出一个sysout,没有任何反应,检查永远不会通过它...

这可能是什么问题?

1 个答案:

答案 0 :(得分:4)

您正在使用String==进行比较,您需要.equals()使用String方法

尝试将代码更改为以下内容:

if(subject.substring(17,18).equals("e")){
        subjectName = "English";
    }else if(subject.substring(17,18).equals("m")) {
        subjectName = "Math";
    }