Maison  >  Questions et réponses  >  le corps du texte

Dans la vidéo Java de Gao Qi, comment cette instruction qui attribue directement une valeur de type int à un objet Integer peut-elle réussir la compilation ?

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 !

ringa_leeringa_lee2683 Il y a quelques jours953

répondre à tous(4)je répondrai

  • 学习ing

    学习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 ?

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味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...

    répondre
    0
  • 滿天的星座

    滿天的星座2017-06-15 09:23:19

    Après JDK1.5, le boxing et le unboxing automatiques sont possibles

    répondre
    0
  • 巴扎黑

    巴扎黑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.

    répondre
    0
  • Annulerrépondre