本文介紹了Java中的數(shù)組聲明和初始化的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
-
?
int[] array = new int[]{1,2,3};
?
int[] array = {1,2,3};
?
int[] array;
array = new int[]{1,2,3};
?
int[] array;
array = {1,2,3};
誰(shuí)能解釋一下為什么最后一個(gè)是錯(cuò)誤的,我們?yōu)槭裁纯梢宰龅诙€(gè)?
推薦答案
作為對(duì)您問(wèn)題的直接回答,情況就是這樣,因?yàn)镴ava語(yǔ)言就是這樣定義的。當(dāng)我們聲明一個(gè)新的字段或局部變量時(shí),我們可以通過(guò)表達(dá)式(new int[] { 1, 2 3 })或數(shù)組初始值設(shè)定項(xiàng)({1,2,3})對(duì)其進(jìn)行初始化。為以前聲明的字段或局部變量賦值時(shí),只能使用表達(dá)式。
我只能推測(cè)為什么會(huì)存在這種差異,但我認(rèn)為這與數(shù)組被具體化有關(guān),即在運(yùn)行時(shí),數(shù)組知道其元素的類型。這意味著當(dāng)您想要?jiǎng)?chuàng)建新數(shù)組時(shí),需要指定元素類型。在初始化數(shù)組時(shí),元素類型很容易獲得,因?yàn)閿?shù)組類型的類型是顯式指定的,但在表達(dá)式中不是這樣,至少在一般情況下不是這樣。當(dāng)然,人們可以嘗試推斷元素的類型,但語(yǔ)言設(shè)計(jì)者選擇不這樣做。
這篇關(guān)于Java中的數(shù)組聲明和初始化的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,






