如何用java中的元素返回名称?
在Java中的初学者,我寻找的方式来返回与我的函数“readPeople()”与我的ArrayList“this.list”关联的名称由于用户给出的ID。 这里是我的代码:如何用java中的元素返回名称?
public class PersonneC implements PersonneDB {
this.list = new ArrayList();
People marie = new People(1, "Bower", "Marie");
list.add(marie.toString());
public PeopleWithId readPeople(int idPeople) {
PeopleWithId peoplename = null;
for(int i = 0; i < list.size(); i++) {
if(liste.get(i).equals(idPeople)) {
result = list.get(i);
}
}
return result.getPeopleName(); //ERROR INCOMPATIBLE TYPES
}
通缉的结果返回:鲍尔
ArrayList<People> list = new ArrayList<>();
// add people to the list
People marie = new People(1, "Bower", "Marie");
list.add(marie);
// Search function
public String readPeople(int idPeople) {
People p = null;
for(int i = 0; i < list.size(); i++) {
// If equal than it is the result
if(list.get(i).id == idPeople) {
p = list.get(i);
break;
}
}
return p == null ? null : p.getName();
}
谢谢你的回复。 但是,我被告知行“if(list.get(i).id == idPeople){”在索引“id”下面的错误“无法解析符号ID”,为什么? – Paul
也许你的身份证是私密的或者是受保护的,或者你把你的身份命名为别的。 –
你可以看到我将People对象添加到数组而不是String。 –
你得到不兼容类型的原因是因为在你的函数readPeople你告诉它返回PeopleWithId,在那里你正在返回一个字符串。
在public修饰符更改PeopleWithId之后,因为此对象不存在,请将其更改为String。它所做的是告诉你想要从中获得的对象的类型的函数,在这种情况下是一个String,因为你的名字已经被存储为一个字符串。
你的方法返回一个string
,并且readPeople
的返回类型为PeopleWithId
我们可以让人们类和什么类型的结果,我认为是人民和检查list.add(marie.toString( )) – crammeur
'getPeopleName()'可能返回一个'String',但是你的方法声明'PeopleWithId'为返回类型。它不兼容。将它改为'public String readPeople(int idPeople)' – davidxxx
,除了编译器错误外,用'return list.get(i);'替换'result = list.get(i);'会更有效率'for'循环返回'null',或者甚至更好地使用'Optional'。 –