У меня проблема с этим кодом (не удается разрешить метод: 'equals (java.lang.String) - PullRequest
0 голосов
/ 09 марта 2019

Я пытаюсь использовать этот метод (.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 ]

1 голос
/ 09 марта 2019

Примитивы не имеют метода 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");
}
1 голос
/ 09 марта 2019

char это примитив.Ни один примитив не имеет equals метода.У них нет никаких участников вообще.Чтобы этот код работал, вам нужно будет обернуть char, используя Character.valueOf(t) (но тогда у вас все равно будет несоответствие типов, которое вы должны будете написать equals('t')), или что будет еще проще, используйте t == 't'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...