簡體   English   中英

如何在android中將空值聲明為整數

[英]how to declare null value to integer in android

我想知道我應該如何在 Android 中聲明一個帶有 Null 值的整數。 這是我的代碼:

btnload.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String getDate, getEpayee, getEcategory;
            int getEamt;
            getDate= "";

            getEamt="";  //This Eamt variable is of integer type and
                                       //this gives me a error.

            getEpayee ="";
            getEcategory="";

int是 Java 中的原始類型; 因此你不能將它設置為null (它不是一個對象)。

如果getEamtint ,則不能將其初始化為String 如果您真的想將整數設置為null ,則需要使用Integer類。

如果您想對 int 類型使用某種“默認”或初始化值,您可以考慮從 1 開始計數並將 0 或負 int 解釋為默認值。

您可能沒有理解null是什么。

在您發布的示例中,您使用空字符串"" 因此,您可以初始化 String 實例以避免NullPointerException 如果您沒有初始化(在聲明時分配)任何值,則默認情況下對象類型的值為null

String message; 等於String message = null;

您通過String message = ""所做的是設置對空字符串的引用。


null僅適用於 Object 類型而不適用於原始類型。 如何每個原語都有一個允許空值的包裝類。

你可以這樣做

Integer value = null;

不能這樣做

int value = null;

一般來說,您應該避免使用null 使用原語確保您永遠不會傳遞空值。

在您的代碼中,聲明是本地的,您應該在使用前使用有效值聲明它們,而不是創建一個初始化部分,然后創建一個使用塊。

btnload.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
           conductPaymentTransaction()
        }

private void conductPaymentTransaction() 
{

 Date          date = getDate();
 EPayee        paye = getEPayee()
 ECategory category = getECategory();
 int        ammount = getAmmount();

 //...

}

注意:您不應以純字符串的形式存儲數據結構。

您可以將值設置為零。

int value = null;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM