java - 如何修复此错误 :"Cannot invoke getFirst() on the primitive type char"?

标签 java string arraylist char

我是一名业余程序员,我正在尝试在 java 中创建一个方法,该方法允许我返回数组列表中名字首字母相同的所有内容。使用这样的代码,我不断收到错误“无法在原始类型 char 上调用 getFirst()”,并且我不知道如何修复它。任何人都可以帮助解决此错误或向我展示一种不同的方法吗?

这是我最初的方法:

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;
    }

这是我的 getter 方法。

public String getFirst() {return first;}

最佳答案

p 是一个 char,因此为了将其与 p1.getFirst() 的第一个字符进行比较,条件应该是:

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

关于java - 如何修复此错误 :"Cannot invoke getFirst() on the primitive type char"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58213196/

相关文章:

java - 如何在java中运行pentaho pig作业

java - JPA如何获取持久化对象自动生成的ID?

java - 将对象克隆到列表中,并为每个项目更改多个值

c# - 如何从数组中选择一个随机字符串并将其显示在文本框中?

python - 在 Python 中扩展字符串中的所有出现

java - 如何有条件地替换 Collection 中的值,例如 replaceIf(Predicate<T>)?

Java 正则表达式(无空格或 0-9)

c - 我如何切换到读取c中的多个字符

java - org.datanucleus.sco.backed.ArrayList 无法转换为 java.util.Set

java - ArrayList 中的数据到 Listview 中