Ich überlege, dass Sie möglicherweise eine Sammlung von verschiedenen Objekten haben, die diesen Eigenschaftsnamen haben. Denn das würde ich Ihnen empfehlen Eltern zu tun, für diese Komponenten und führen Sie die Suche auf es mit Generika:
Zum Beispiel:
Geordnete Klasse Name.java
public class Name {
private String name;
public Name(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Klasse Pet.java
public class Pet extends Name{
public Pet(String name) {
super(name);
}
}
Und Klasse Person.
java
public class Person extends Name{
public Person(String name) {
super(name);
}
}
Job-Klasse, die nicht die Eigenschaft hat:
public class Job {
private String description;
public Job(String description) {
this.description = description;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
dass, so können Sie die Instanz davon überprüfen und vergleichen, was Sie wollen:
public static void main(String ... args) {
List<Object> objectList = new ArrayList();
objectList.add(new Person("Nick"));
objectList.add(new Person("Nik"));
objectList.add(new Person("Nikc"));
objectList.add(new Person("Ncik"));
objectList.add(new Pet("Nick"));
objectList.add(new Pet("Nik"));
objectList.add(new Pet("Nikc"));
objectList.add(new Pet("Ncik"));
objectList.add(new Job("Nick"));
objectList.add(new Job("Nik"));
objectList.add(new Job("Nikc"));
objectList.add(new Job("Ncik"));
for (Object o : extractObjectsMatching("Nick", objectList)){
System.out.println(((Name) o).getName());
}
}
public static List<Object> extractObjectsMatching(String name, List<Object> objectList){
List<Object> matches = new ArrayList<>();
for (Object e : objectList){
if (e instanceof Name && ((Name) e).getName().contains(name)){
matches.add(e);
}
}
return matches;
}
Wenn die Objektklasse ist keine Instanz von Name, bedeutet, dass die gesuchte Eigenschaft nicht vorhanden ist, ignorieren Sie sie einfach, vergleichen Sie sie mit den gewünschten Informationen und speichern Sie sie abzurufen.
Was ist falsch daran, einfach die Liste zu durchlaufen und jeden Namen zu überprüfen? – Gendarme
iterieren Sie die Liste mit einer for-Anweisung, prüfen Sie, ob der Name gleich 'Nick' ist und wenn ja, fügen Sie das Objekt zu einer anderen Liste – DAVIDBALAS1
für Schleifen hinzu und wenn Anweisungen immer da sind. –