我想知道如何在Android中声明一个Null Value的Integer。 这是我的代码:
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="";
答案 0 :(得分:3)
int
是Java
中的原始类型;因此,您无法将其设置为null
(它不是Object
)。
如果getEamt
是int
,则无法将其初始化为String
。如果您确实要将整数设置为null
,则需要使用Integer
类。
答案 1 :(得分:0)
如果你想使用某种"默认"或者使用int类型的初始化值,您可以考虑开始计数为1并将0或负int解释为默认值。
答案 2 :(得分:0)
您可能错过了null
的内容。
在您发布的示例中,您使用空字符串 ""
。因此,您可以初始化String实例以避免NullPointerException
。如果您没有初始化(在声明处分配)任何值,则默认情况下对象类型具有null
值。
String message;
等于String message = null;
String message = ""
您正在做的是设置对空字符串的引用。
null
仅适用于非primitive ones的对象类型。每个原语如何都有一个允许null的包装类。
你可以这样做
Integer value = null;
你不能这样做
int value = null;
一般来说,你应该避免使用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();
//...
}
注意:您不应以纯字符串的形式存储数据结构。
答案 3 :(得分:0)
您可以将值设置为零..
int value = null;