溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java中怎么實現(xiàn)局部變量類型的推斷

發(fā)布時間:2021-07-01 15:31:44 來源:億速云 閱讀:127 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關(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è)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(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)容。

AI