J'ai une liste d'objets personnalisés et je veux trouver un objet par un ID donné (un champ dans un objet personnalisé). Je codais pour cela, donc j'ai trouvé deux solutions lors de la comparaison des champs.Meilleure façon de parcourir et de trouver un champ d'objet à partir d'une liste
private Product getProduct(String productId,List<Product> productList){
for (int i = 0; i < productList.size(); i++) {
if (productId.equals(productList.get(i).getId())) {
return productList.get(i);
}
}
return null;
}
2.
private Product getProduct(String productId,List<Product> productList){
for (int i = 0; i < productList.size(); i++) {
if (productList.get(i).getId().equals(productId)) {
return productList.get(i);
}
}
return null;
}
La différence est en if
état, je veux savoir que l'on est mieux que l'autre et pourquoi, quand utiliser 1ère méthode et quand utiliser la seconde?
Je sais que le résultat est un peu, mais je pense égaux a quelque chose qui dépend de la façon dont il est utilisé –
@AdnanAli Ne vous inquiétez pas, 'equals' est défini comme' x.equals (y) = y. est égal à (x) ', donc l'ordre n'a pas d'importance. – beatngu13