繁体   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