我是一名业余程序员,我正在尝试在 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/