Salut wiam_,
En java, il existe différents types primitifs (int, char, byte, double, float, long, short et j'en oublie sûrement). A ces types primitifs, le langage a prévu des classes permettant de les encapsuler.
Au final, le type Integer, son rôle est juste de contenir un int, et en plus c'est un objet (ce qui peut être utile quand on programme orienté objet).
Pour mieux comprendre, je te conseille de lire la doc (en java ça marche souvent car la doc officielle est super bien) :
http://java.sun.com/javase/6/docs/api/java/lang/Integer.html
Ca t'explique notamment que quand tu fais Integer(0), ça t'instancie un Integer dont le int vaut 0.
Ainsi, si tu fais :
int a=5;
Integer b = new Integer(5);
a == b.intValue() te retournera
true, ainsi que
b.equals(new Integer(a));
En général on utilise souvent les types primitifs, parce que pour l'usage qu'on en fait, c'est souvent suffisant. Cependant, il se peut que tu aies besoin de transporter des objets plutôt que les types. Par exemple, lorsque tu utilises le polymorphisme, tu peux être amené à utiliser la classe Number (superclasse de Integer, Double, Float...) afin d'avoir un comportement commun à ces classes. De cette manière, tu écriras une unique méthode :
public Number somme(Number a, Number a);, qui utilisera peut-être de l'introspection pour implémenter des comportements particuliers, mais ça t'évitera d'implémenter 50 méthodes comme :
public int somme (int a, int b);
public float somme (float a, float b);
public double somme (double a, double b);
...
Après tout ça c'est des techniques objets qui te dépassent peut-être un peu aujourd'hui si tu débutes juste, mais dont tu prendras conscience rapidement. En tout cas j'espère ne pas t'avoir embrouillé d'avantage.
Cordialement
Evite de poster plusieurs fois le même sujet stp.
Une personne t'avait déjà répondu. Si je l'avais vu, ça m'aurait évité de gaspiller un quart d'heure à essayer de t'aider.
Cordialement,