2017-04-12 1 views
-1

J'ai Surcharge de la méthode toString, de sorte que mes objets retournent leur carte d'identité (un paramètre que j'ai mis dans mon objet.Comment convertir un nom d'objet en String?

@Override 
    public String toString(){ 
     return getId(); 
} 

Le problème que j'ai est que je suis à la recherche par le biais d'une liste de références à ces objets et je veux être en mesure de faire certaines actions lorsque X objet est présent

Pour ce faire, j'ai besoin de mon programme pour être en mesure d'interpréter l'ID d'objet retourné comme une chaîne, comme je fais un comparaison (pour vérifier si elle est présente)

Donc, ma question, comment puis-je convertir un objet se référer à une chaîne pour faire une comparaison. Ou y a-t-il une meilleure façon de le faire?

+2

un moment n'est pas tout à fait clair ce que vous voulez faire ... –

+0

si vous avez une liste de vos objets et vous devez filtrer la liste en fonction de la propriété de l'objet, vous pouvez utiliser des flux: 'list.stream(). filter (obj -> X.equals (obj.getId())). foreach (System.out :: println)' –

+0

Que voulez-vous dire? Les objets n'ont pas de noms par eux-mêmes. Les variables ont des noms et une variable est une référence à un objet. De l'objet il n'y a aucun moyen d'obtenir le nom d'une variable qui fait référence à l'objet. Si vous pensez que c'est ce dont vous avez besoin, alors vous avez probablement une idée fausse sur les variables et les objets et il existe d'autres et meilleurs moyens de résoudre votre problème. – Jesper

Répondre

0

si vous voulez comparer leur numéro d'identification, vous pouvez créer une méthode surchargée de Object

String idNumber; 
public boolean equals(YourSuperClass yourSuper) 
{ 
    if(idNumber.equals(yourSuper.getId())) 
     return true; 
    else 
     return false; 
}