Как исправить эту ошибку: «Невозможно вызвать getFirst () для примитивного типа char»? - PullRequest
0 голосов
/ 03 октября 2019

Я программист-любитель, и я пытаюсь создать метод в java, который позволил бы мне возвращать все содержимое массива, у которого одинаковые инициалы для их имени. С таким кодом я продолжаю получать сообщение об ошибке «Не могу вызвать getFirst () для типа примитива char», и я не знаю, как это исправить. Может кто-нибудь помочь с этой ошибкой или показать мне другой способ сделать это?

Вот мой первоначальный метод:

public Phonebook findInitial(char p) {
        Phonebook in = new Phonebook();
        for(Phonebook p1:phone)
            if(p.getFirst().charAt(0)==p1.getFirst().charAt(0)) {
                in.add(p1);
                }
        return in;
    }

Вот мой метод получения.

public String getFirst() {return first;}

1 Ответ

1 голос
/ 03 октября 2019

p - это char, поэтому для сравнения его с первым символом p1.getFirst() условие должно быть:

if (p == p1.getFirst().charAt(0))
...