Java中的初学者,我找到了使用我的函数“readPeople()”返回的方式返回我的ArrayList“this.list”中关联的名称,这要归功于用户给出的id。 这是我的代码:
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
}
通缉结果返回:Bower
答案 0 :(得分:1)
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();
}
答案 1 :(得分:0)
你得到不兼容类型的原因是因为在你的函数readPeople中你告诉它返回PeopleWithId,你返回一个字符串。
在public修饰符更改PeopleWithId之后,因为此对象不存在,请将其更改为String。这样做是告诉你想要从中得到的对象类型的函数,在本例中是一个String,因为你的名字已经存储为String。
答案 2 :(得分:0)
您的方法返回string
,readPeople
的返回类型为PeopleWithId