gpt4 book ai didi

java - 如何访问 arrayList 内的类的实例

转载 作者:行者123 更新时间:2023-11-30 01:48:24 26 4
gpt4 key购买 nike

我正在做 MOOC,应该返回一个与名称关联的数字。号码名称组合保存在名为 Phonebook 的 ArrayList 对象中。 arrayList 保存了我创建的类 Person 的信息。我需要对 Phonebook 对象执行 getNumber(),但我不能,因为 getNumber() 仅适用于 Person 类型的对象。

package problem94_phonebook;
import java.util.ArrayList;

public class Phonebook {

private ArrayList<Person> phonebook;


public Phonebook(){
this.phonebook = new ArrayList<Person>();
}

public String searchNumber(String name){
if (this.phonebook.contains(name)){
return this.phonebook.Person.getNumber(); // here is the problem
}
}

}
package problem94_phonebook;
import java.util.ArrayList;


public class Person {

private String Name;
private String Numb;
private ArrayList<String> Phonebook;

public Person(String name, String numb){
this.Name = name;
this.Numb = numb;
this.Phonebook = new ArrayList<String>();
}

public String getName() {
return Name;
}

public String getNumber() {
return Numb;
}

public String toString(){
return this.Name +" " +"nummber: " + this.Numb;
}

public void changeNumber(String newNumber){
this.Numb = newNumber;
}

public void add(String name, String number){
this.Phonebook.add(name);
this.Phonebook.add(number);

}

public void printAll(){
for(String i : this.Phonebook){
System.out.println(i);
}
}
}

最佳答案

你可以尝试一下

   for (Person  person : phonebook) 
{
if(person.getName().equals(name)){
return person.getNumber();
}
}

要使用此功能,您需要更改 String searchNumber(String name) 的返回类型 StringArrayList<String>

关于java - 如何访问 arrayList 内的类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56981437/

26 4 0