int和Integer的預設值

2022-04-12 01:27:26 字數 1158 閱讀 4648

群裡有乙個小夥伴發了一段和下面差不多的**啊,問了乙個問題,**如下:

public

static

void

main(string args)

public

integer name()

這段**毫無疑問,打出來的是null 群友問,為什麼name中的return不報錯啊,null不是string的預設值嘛然而我定義的是integer 。這個是群友發的

值型別 : 預設值為0;

引用型別 :  預設值為null;

下面的**中,我們將interger改成int型別:

public

static

void

main(string args)

public

integer name()

**編譯時不會報錯,但執行的時候會報乙個空指標的錯誤,為什麼呢?因為integer是int的封裝類,編譯器能夠識別,但是它所呼叫的方法又是另乙個,所以執行時

找不到那個方法所以報了乙個空指標,**如下:

public

static

void

main(string args)

private

intname()

public

integer name1()

如**int 宣告的呼叫的是 int name()這個方法 integer宣告的呼叫的是integer name1()這個方法。在宣告變數初始化時也是相同的道理,int宣告的變數只能為int型別

而integer出來int型別外,還可以定義為null。如下:

integer a1 = null

;int a2 =null

; //這行會報錯

int a3 =1;

int a4 = (integer) null;

其他的基本資料型別也是如此。

個人學習,內容拙劣見諒

預設值清洗

預設值是資料中最常見的乙個問題,處理預設值有很多方式,主要包括以下四個步驟進行預設值處理 確定預設值範圍 去除不需要的字段 填充預設值內容 重新獲取資料 注意 最重要的是預設值內容填充。在進行確定預設值範圍的時候,對每個欄位都計算其缺失比例,然後按照缺失比例和字段重要性分別指定不同的策略 重要性高,...

SQL 預設值和規則

建立規則 下面來演示以下兩種完整性約束的操作 由於sql server2008取消了以下兩項操作的圖形介面操作,我們只能用命令建立,配合圖形介面來觀察結果了。先建立了乙個20歲的年齡的預設值,在我們新增學生不輸入學生年齡的時候,系統自動新增預設值。可以看到系統自動新增年齡20 我們現在再來看下面的問...

prop 驗證,和預設值

prop 驗證,和預設值 所有的 prop 都使得其父子 prop 之間形成了乙個單向下行繫結 父級prop 的更新會向下流動到子元件中,但是反過來則不行。這樣會防止從子元件意外改變父級元件的狀態,從而導致你的應用的資料流向難以理解。額外的,每次父級元件發生更新時,子元件中所有的 prop 都將會重...