Comment comparer deux nombres Entiers en java
Je veux comparer des éléments en deux de la liste à l'aide de < > ==
Est-ce la bonne façon de l'utiliser intValue()?
List<Integer> a = new ArrayList<Integer>();
a.add(129);
List<Integer> b = new ArrayList<Integer>();
b.add(128);
if(a.get(0).intValue() > b.get(o).intValue()) {
//something
}
- Ou encore mieux:
a.get(1).compareTo(b.get(1)) == 0
. - si j'ai aussi besoin de < > , vous voulez dire que des modifications de la <0 et >0 dans le droit?
- Oui, vous l'avez compris, c'est comment
compareTo
œuvres - stackoverflow.com/questions/11490425/what-is-intvalue-in-java peut-être lire ça 🙂 Et n'utilisez pas intValue() parce que vous n'en avez pas besoin.
- la méthode compareTo généralement la sortie d'un int (-1, 0 et 1), vous avez besoin de modifier votre si la déclaration en conséquence.
- Pourriez-Vous expliquer pourquoi java besoin Integer int déjà là?
- int est un type primitif et les pauses de la OO logique, tout Entier est une pure classe Java et peut être étendu et contient plus de méthodes
- Entier est un type de référence, de type int est un type primitif.
Vous devez vous connecter pour publier un commentaire.
Vous faites de la bonne façon.
Comme indiqué dans les commentaires, vous pouvez également vous
compareTo()
.Une alternative à
compareTo()
estequals()
qui ne va pas faire une exception NullPointerException dans le cas où l'objet est null.Votre chemin est correct. Mais avec une petite correction.
1)
2)
C'est le problème dans votre code, vous devez get(0), au lieu de (1). Rappelez-vous, en java il toujours commencer avec 0.
Valeurs peuvent être comparées en utilisant
equals()
ou méthode CompareTo ainsi.