2010-01-24 2 views
3
Integer n = 5; 
System.out.println(n) // 5! 

Comment puis-je reproduire ce comportement dans mes cours?Java = opérateur

+14

Reproduire * quoi * comportement? Quelle est l'exigence fonctionnelle? – BalusC

Répondre

10

Vous ne pouvez pas. Ceci est appelé Autoboxing, et c'est une caractéristique spéciale de certaines classes de Java de faciliter le travail avec des classes qui représentent des types primitifs comme int.

+0

c'est vrai que vous ne pouvez pas fausser autoboxing, mais vous pouvez écrire du code qui imite ce que ce code est probablement compilé. 'Integer n = new Entier (5);' peut facilement être modifié pour tous vos besoins. – twolfe18

+2

Autoboxing génère en fait quelque chose de plus comme 'Integer.valueOf (5)', plutôt que 'new Integer (5)'. C'est ainsi que certaines instances peuvent être réutilisées. –

1

Vous ne pouvez pas surcharger l'opérateur d'affectation en Java.

1

Vous ne pouvez pas surcharger les opérateurs en Java. Les gars de Sun ont décidé qu'ils le feraient pour quelques cours, mais ils ne vous laisseront pas le faire vous-même.

0

L'opérateur d'affectation ne peut pas être surchargé en Java. Vous devez regarder d'autres langages tels que C++. Je ne sais pas si vous pouvez le faire même là pour l'opérateur d'affectation.

+4

Vous pouvez surcharger l'opérateur d'affectation en C++. –

2

Selon le comportement souhaité, vous ne pouvez pas, ou vous devez implémenter la méthode 'toString()' pour obtenir print (ln) pour imprimer une représentation textuelle de votre objet.