Maison > Questions et réponses > le corps du texte
J'ai récemment lu le didacticiel Java 300 de Gao Qi, et il contenait une ligne de code que le professeur Gao a brièvement expliqué, mais en y regardant de plus près, j'ai senti que je ne comprenais pas les points de connaissance qu'il contenait. Le code est le suivant. :
public class Test063 {
public static void main(String[] args){
Integer i = Integer.parseInt("234");
System.out.println(i);
}
}
La deuxième phrase Interger.parseInt("234") J'ai vérifié le code source,
Il est clairement indiqué ci-dessus que la méthode parseInt renvoie une valeur de type int, mais comment peut-elle être directement affectée à un objet Integer ?
J'ai fait une autre expérience
Integer a = 1;//报错
Integer b = Integer.parseInt("1");//编译通过
Le résultat m'a rendu très confus, pourquoi cela se produit-il ?
Débutant, aidez-moi à résoudre mes doutes !
学习ing2017-06-15 09:23:19
Je suis nouveau pour vous, quelle version de JDK avez-vous ? J'ai écrit Integer i = 1; sur mon IDE et ce n'est pas un problème. Je l'ai récemment mis à jour vers JDK8, mais je pense que JDK7 devrait également convenir. Je ne connais pas la version précédente. Quelles sont les limitations de l'autoboxing. Pourquoi n'essayez-vous pas de mettre à niveau ?
淡淡烟草味2017-06-15 09:23:19
Après JDK 1.5, il existe une fonctionnalité d'empaquetage et de décompression automatique, qui convertira automatiquement ce type de données primitif et son type d'objet :
.https://docs.oracle.com/javas...
巴扎黑2017-06-15 09:23:19
Le code de l'enseignant est un processus de boxe automatique et Integer est la classe d'empaquetage de int. Votre version JDK devrait être relativement ancienne.