久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

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

瀏覽:151日期: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
主站蜘蛛池模板: 筠连县| 砀山县| 泽库县| 万全县| 雅安市| 南雄市| 普安县| 项城市| 霍邱县| 额尔古纳市| 甘洛县| 尚志市| 泾源县| 广德县| 清涧县| 阜新市| 崇信县| 伊金霍洛旗| 甘肃省| 萝北县| 湘潭县| 广安市| 博湖县| 伊宁市| 松桃| 张家口市| 大安市| 栖霞市| 清丰县| 神农架林区| 城固县| 仁怀市| 蒙山县| 遂溪县| 新昌县| 聊城市| 固镇县| 渭南市| 天等县| 元氏县| 荣昌县|