Heim  >  Fragen und Antworten  >  Hauptteil

Wie kann diese Anweisung im Java-Video von Gao Qi, die einem Integer-Objekt direkt einen Wert vom Typ int zuweist, die Kompilierung bestehen?

Ich habe kürzlich das Java 300-Tutorial von Gao Qi gelesen und darin eine Codezeile, die Lehrer Gao kurz erklärt hat, aber bei näherer Betrachtung hatte ich das Gefühl, dass ich die darin enthaltenen Wissenspunkte nicht verstanden habe. Der Code lautet wie folgt :

public class Test063 {
    public static void main(String[] args){
    Integer i = Integer.parseInt("234");
    System.out.println(i);
    }
}

Der zweite Satz Interger.parseInt("234") Ich habe den Quellcode überprüft,

Oben wurde klar gesagt, dass die parseInt-Methode einen Wert vom Typ int zurückgibt, aber wie kann dieser direkt einem Integer-Objekt zugewiesen werden?

Ich habe ein weiteres Experiment gemacht

Integer a = 1;//报错
Integer b = Integer.parseInt("1");//编译通过

Das Ergebnis hat mich sehr verwirrt. Warum passiert das?

Neuling, bitte hilf mir, meine Zweifel auszuräumen. Danke!

ringa_leeringa_lee2683 Tage vor956

Antworte allen(4)Ich werde antworten

  • 学习ing

    学习ing2017-06-15 09:23:19

    同萌新,请问你JDK是哪个版本的呢,我在自己的IDE上写Integer i = 1;是没问题的,最近更新到JDK8,但是我想JDK7应该也是可以的,不知道之前的版本对自动装箱的限制是什么。你要不试试看升级一下?

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-15 09:23:19

    JDK 1.5之后, 有一个自动装包和自动拆包的特性, 会在这种原始数据类型和其对象类型做自动转换, 官方文档:

    https://docs.oracle.com/javas...

    Antwort
    0
  • 滿天的星座

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

    在JDK1.5以后是可以自动装箱及拆箱的

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-06-15 09:23:19

    老师的代码是一个自动装箱的过程,Integer是int的包装类.你的JDK版本应该比较老了.

    Antwort
    0
  • StornierenAntwort