国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

高琪Java視頻里,這個將int類型的值直接賦值給Integer對象的語句怎么會通過編譯呢?

瀏覽:133日期:2023-11-01 13:14:02

問題描述

最近看高琪Java300篇教程,里面有句代碼高老師一筆帶過了,但是細細看總覺得其中蘊含的知識點不理解,代碼如下:

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

第二句Interger.parseInt('234')我查看了源碼,

高琪Java視頻里,這個將int類型的值直接賦值給Integer對象的語句怎么會通過編譯呢?

上面明明說parseInt方法返回的是int類型的值,可它怎么能直接賦值給一個Integer對象呢?

我又做了下實驗

Integer a = 1;//報錯Integer b = Integer.parseInt('1');//編譯通過

結果讓我非常懵逼,為什么會這樣呢?

萌新求解惑 謝謝!

問題解答

回答1:

同萌新,請問你JDK是哪個版本的呢,我在自己的IDE上寫Integer i = 1;是沒問題的,最近更新到JDK8,但是我想JDK7應該也是可以的,不知道之前的版本對自動裝箱的限制是什么。你要不試試看升級一下?

回答2:

JDK 1.5之后, 有一個自動裝包和自動拆包的特性, 會在這種原始數據類型和其對象類型做自動轉換, 官方文檔:

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

回答3:

在JDK1.5以后是可以自動裝箱及拆箱的

回答4:

老師的代碼是一個自動裝箱的過程,Integer是int的包裝類.你的JDK版本應該比較老了.

標簽: java
主站蜘蛛池模板: 阳山县| 界首市| 彭阳县| 临沭县| 容城县| 大名县| 思南县| 克拉玛依市| 双桥区| 饶阳县| 安阳县| 内丘县| 竹山县| 佛学| 方山县| 徐闻县| 彩票| 启东市| 常宁市| 独山县| 鲁甸县| 凤山市| 固阳县| 宁强县| 类乌齐县| 无锡市| 读书| 南宫市| 英德市| 武陟县| 临漳县| 南靖县| 宜丰县| 镇宁| 汉川市| 林芝县| 射洪县| 石嘴山市| 五大连池市| 满城县| 文安县|