Heim > Fragen und Antworten > Hauptteil
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!
学习ing2017-06-15 09:23:19
同萌新,请问你JDK是哪个版本的呢,我在自己的IDE上写Integer i = 1;是没问题的,最近更新到JDK8,但是我想JDK7应该也是可以的,不知道之前的版本对自动装箱的限制是什么。你要不试试看升级一下?
淡淡烟草味2017-06-15 09:23:19
JDK 1.5之后, 有一个自动装包和自动拆包的特性, 会在这种原始数据类型和其对象类型做自动转换, 官方文档:
https://docs.oracle.com/javas...