我对此代码有疑问(无法解析方法:'equals(java.lang.String)

时间:2019-03-09 17:21:08

标签: java string char

我正在尝试使用此(.equals)方法,但是由于某些原因它无法正常工作。

 Scanner verb = new Scanner(System.in);
        String verb1 = verb.nextLine();
        char t = verb1.charAt(verb1.length() - 1);

        if(t.equals("t")) {
            System.out.println("Hello");
        }

,错误消息是此消息:

cannot resolve method 'equals(java.lang.String)'

2 个答案:

答案 0 :(得分:1)

char是基元。没有原语具有equals方法。他们根本没有任何成员。为了使此代码正常工作,您必须使用char来包装Character.valueOf(t)(但是您仍然需要输入equals('t')来键入类型不匹配),或者更容易使用{ {1}}。

答案 1 :(得分:1)

原语没有equals方法(原语没有任何方法)。您必须使用==

if(t == 't') {
    System.out.println("Hello");
}

或替换为

Character t = verb1.charAt(verb1.length() - 1);

if(t.equals('t')) { // you have to compare 'Character' to 'Character'
    System.out.println("Hello");
}