Java 如何声明一个空int

Java 如何声明一个空int,java,android-studio,int,Java,Android Studio,Int,我想声明一个空的int,就像您对字符串所做的那样:String userName=“” 我需要一个空int,因为我想从数组中选择(随机)图片: public int[] mBackground = { R.drawable.heart, R.drawable.cane, R.drawable.watch }; 这是我用来从数组中获取随机图片的代码: public int getBackground(){ int background = "";

我想声明一个空的
int
,就像您对字符串所做的那样:
String userName=“”
我需要一个空int,因为我想从数组中选择(随机)图片:

public int[] mBackground = {
       R.drawable.heart,
       R.drawable.cane,
       R.drawable.watch
};
这是我用来从数组中获取随机图片的代码:

public int getBackground(){
int background = "";
    Random generate = new Random();
    int randomNumber = generate.nextInt(mBackground.length);

    background = mBackground[randomNumber];

    return background;
}

我不明白你的问题。为什么需要初始化它?你甚至不需要这个变量

    return mBackground[randomNumber];
此代码可以按照您的需要工作

public int getBackground(){
    Random generate = new Random();
    int randomNumber = generate.nextInt(mBackground.length);
    return mBackground[randomNumber];
}
但是,如果您想要一个变量,您可以这样做

public int getBackground(){
    Random generate = new Random();
    int randomNumber = generate.nextInt(mBackground.length);
    int background = mBackground[randomNumber];
    return background;
}

如果出于某种原因必须为
int background
变量指定默认值,
-1
通常是可行的。不能将
int
变量分配给除整数值以外的任何值(
字符串,因此不起作用)

否则,在准备赋值之前不要声明变量。这样你就不必给它一个毫无意义的初始值

    int background = mBackground[randomNumber];
或者您可以直接从方法返回值,而不是将其分配给中间变量

    return mBackground[randomNumber];
在声明局部变量时,实际上根本不需要初始化它。这是完全可以接受的

    int background;
但是,必须先指定一个值,然后才能使用它

以下是您的方法意图的最简短说明

public int getBackground(){
    return mBackground[new Random().nextInt(mBackground.length)];
}
public int getBackground(){
    return mBackground[new Random().nextInt(mBackground.length)];
}

在您给定的上下文中不存在空int,空字符串是包含长度为0的序列的字符串。int是一种基本数据类型,不能接受有符号或无符号32位整数参数之外的任何值,除非您希望声明为整型装箱对象,在这种情况下,您可以将其声明为null

对于从数组中选择一个随机值这样简单的方法,您也可以使用一行

public int getBackground(){
    return mBackground[new Random().nextInt(mBackground.length)];
}