我有三个班级:
Child class extends父亲和父亲延伸人类。
我创建了每个类的一些实例并将它们存储到ArrayList中。
现在我想编写一个方法来检查对象father1是否具有相同的字段地址(例如:" 21 str Goodwin")作为Object child1地址字段(父类和子类的实例)和将此方法提供给我的ArrayList,如果找到任何结果则打印。
我该怎么做?
让我在这里添加我的代码以便更清晰:
人类:
public class Om {
String nume;
String prenume;
String cnp;
Om(String nume,String prenume,String cnp){
this.nume=nume;
this.prenume=prenume;
this.cnp=cnp;
}
@Override
public String toString() {
return "Numele omului: " + this.nume +"\n"+ "Prenumele omului: " + this.prenume +"\n"+ "Cnp-ul omului: " + this.cnp + "\n" ;
}
}
父类:
public class Parinte extends Om{
String domiciliu;
Parinte(String nume, String prenume, String cnp, String domiciliu){
super(nume,prenume,cnp);
this.domiciliu=domiciliu;
}
@Override
public String toString() {
return "Numele parintelui: " + nume +"\n"+
"Prenumele parintelui :" + prenume +"\n"+
"Cnp-ul parintelui: " + cnp +"\n"+
"Domiciliul parintelui: "+domiciliu+"\n";
}
}
儿童班:
public class Copil extends Parinte {
int varsta;
Copil(String nume, String prenume, String cnp, String domiciliu, int varsta){
super(nume,prenume,cnp,domiciliu);
this.varsta=varsta;
}
@Override
public String toString() {
return "Numele copilului: " + nume +"\n"+
"Prenumele copilului :" + prenume +"\n"+
"Cnp-ul copilului: " + cnp +"\n"+
"Domiciliul compiluiui: "+ domiciliu +"\n"+
"Varsta copilului: "+varsta+"\n";
}
}
我按字母顺序排序列表的方法:
import java.util.*;
public class comparareNume implements Comparator<Om>{
public int compare(Om om1, Om om2){
return om1.nume.compareTo(om2.nume);}
}
我的主要班级:
import java.util.*;
public class main {
public static void main(String[] args) {
Om om1=new Om("Dubolari", "Dragos", "2006004034120");
Om om2=new Om("Andronachi","Andrei", "12591295967123");
Parinte p1=new Parinte("Vreascu","Andy","5845289564684","Al. Cel Bun 13");
Copil c1 = new Copil("Mamaliga","George","5942356874156","Al. Cel Bun 13", 15);
List<Om> colectie = new ArrayList<Om>();
colectie.add(om1);
colectie.add(p1);
colectie.add(c1);
colectie.add(om2);
comparareNume comparNume = new comparareNume();
Collections.sort(colectie, comparNume);
System.out.println(colectie);
}
}
答案 0 :(得分:2)
FatherObj.getAddress().equals(ChildObj.getAddress())
Child和Father内的getAddress()
和字段address
的示例
private String address = "21 str Goodwin"
public String getAddress() {
return address;
}
答案 1 :(得分:1)
将这样的函数放入Human
,它是通过构造函数设置的(它也可以通过setter设置,但在构造函数中这样做可以实现不变性)。
public Human(String address) {
addr = address;
}
public String getAddress() {
return addr;
}
所有子类都可以访问此函数。
然后您可以按@NappaTheSaiyan
的建议访问它