Question

Ceci est en fait lié à une question que je posais plus tôt, mais je suis resté accroché à ce détail. Je suis limité à Java 1.4 et je veux jeter un type de int à Object. Ai-je vraiment besoin d'utiliser un objet de classe Integer ou il y a une façon de le jeter directement (il n'y a pas d'auto-boxing en 1.4). Le coût de cette « boxe manuel » utile sur l'importation d'une classe entière de la 3ème couche à la 1ère couche, augmentant ainsi le couplage?

Était-ce utile?

La solution

Il n'y a aucun moyen de simple de convertir une primitive à son jumeau à base d'objets en Java 1.4, mais il y a un lent et un moyen rapide. new Integer(int) est lent, Integer.valueOf(int) est rapide. La même chose est vrai pour tous les autres types de numéros.

En Java 5, vous n'avez pas besoin de beaucoup de code, mais en interne, le compilateur insère un appel à valueOf() pour vous lorsque vous utilisez autoboxing.

Autres conseils

Dans votre environnement Java 1.4, vous ne pouvez pas jeter un entier à un objet, car il est pas un objet.

Java distingue entre les types primitifs et les types de référence. Un int est un type primitif. Sont donc booléen, octet, char, court, long, float et double.

Une valeur de type de référence est une référence à un objet. « Object » est la classe racine de tous les objets.

Java 1.5 et par la suite, autoboxing entraînera la deuxième variable pour pointer vers un objet entier en maintenant la même valeur que la variable i primitive.

    int i = 99;
    Object o = (Object) i;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top