您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)Java中怎么實現(xiàn)局部變量類型的推斷,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
var
聲明和初始化使用 var
時,必須在同一位置初始化變量。您不能將聲明和初始化放在不同的位置。如果未在適當(dāng)位置初始化變量,則會出現(xiàn)編譯錯誤– 在沒有初始化程序的情況下不能對變量使用'var'
。
var i; //Invalid Declaration - - Cannot use 'var' on variable without initializer var j = 10; //Valid Declaration System.out.println(i);
var
不是關(guān)鍵字雖然看起來很像,但 var
不是保留的Java關(guān)鍵字。因此,您可以創(chuàng)建名稱為" var"的變量-允許使用。
var var = 10; //Valid Declaration int var = 10; //Also valid Declaration
var
用法使用 var
僅限于具有初始化程序的局部變量,增強的for循環(huán)中的索引以及在傳統(tǒng)的for循環(huán)中聲明的局部變量;它不適用于方法形式,構(gòu)造函數(shù)形式,方法返回類型,字段,catch形式或任何其他類型的變量聲明。
帶有初始化程序的局部變量
增強型for循環(huán)中的索引
在傳統(tǒng)的for循環(huán)中聲明的本地
var blogName = "howtodoinjava.com"; for ( var object : dataList){ System.out.println( object ); } for ( var i = 0 ; i < dataList.size(); i++ ){ System.out.println( dataList.get(i) ); }
方法參數(shù)
構(gòu)造函數(shù)參數(shù)
方法返回類型
類字段
捕獲形式(或任何其他類型的變量聲明)
public class Application { //var firstName; //Not allowed as class fields //public Application(var param){ //Not allowed as parameter //} /*try{ } catch(var ex){ //Not allowed as catch formal }*/ /*public var demoMethod(){ //Not allowed in method return type return null; }*/ /*public Integer demoMethod2( var input ){ //Not allowed in method parameters return null; }*/ }
var
不向后兼容由于這是新的語言函數(shù),使用 var
編寫的代碼不會在較低的JDK版本(小于10)中編譯。因此,只有在確定時才使用此函數(shù)。
var
不影響性能請記住,在Java中,類型不是在運行時推斷的,而是在編譯時推斷的。這意味著結(jié)果字節(jié)碼與顯式類型聲明相同–它確實包含有關(guān)類型的信息。這意味著在運行時無需額外的處理。
看完上述內(nèi)容,你們對Java中怎么實現(xiàn)局部變量類型的推斷有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。