Java Comparer 2 nombres entiers avec ou égale ==?
je suis très très nouveau pour Java et je voudrais savoir comment puis-je comparer 2 nombres entiers? Je sais == obtient le travail fait.. mais qu'est égal à? Cela peut-il comparer 2 nombres entiers? (quand je dis entiers, je veux dire "int" n'est pas "Integer").
Mon code est:
import java.lang.*;
import java.util.Scanner;
//i read 2 integers the first_int and second_int
//Code above
if(first_int.equals(second_int)){
//do smth
}
//Other Code
mais pour une raison quelconque, cela ne fonctionne pas.. je veux dire Netbeans me donne une erreur: "int ne peut pas être déréférencés" Pourquoi?
int
est une primitive (spécial) de type, il n'est pas un objet. Vous pouvez utiliser ==
de comparer les primitivesAlors, pourquoi est égal à exister? pour les chaînes?
Non,
equals
existe pour comparer l'égalité de deux Object
s (c'est là où equals
est défini). ==
compare l'adresse de mémoire/d'information de référence. Deux instances d'un objet peut être considéré comme l'égal parce que les contenus sont égaux, mais de leur mémoire, les références ne sont pas
OriginalL'auteur Konstantinos | 2015-03-09
Vous devez vous connecter pour publier un commentaire.
int
est une primitive. Vous pouvez utiliser le wrapperInteger
commeou vous pouvez comparer en valeur (car c'est un type primitif) comme
JLS-4.1. Les Sortes de Types et de Valeurs dit (en partie)
OriginalL'auteur Elliott Frisch
Si vous voulez comparer entre
OriginalL'auteur Modhy
Que int est primitif, vous ne pouvez pas utiliser d'égal à égal.
Ce que vous pouvez faire
Utilisez Entier comme wrapper
OriginalL'auteur kh3laghar