Java 返回对象数组中的单个对象

Java 返回对象数组中的单个对象,java,arrays,object,Java,Arrays,Object,我是编程新手,我想知道如何从对象数组返回单个对象 这是我遇到问题的代码部分: public Class methodName(){ x = 3; if(array[x] != null){ Class y = array[x]; } return y; } 它给了我一个关于“y”的错误 因为y是在if内部声明的,所以在if外部不可用 使用默认值在if外部声明它,然后在if内部重新分配它: public Class methodName(){

我是编程新手,我想知道如何从对象数组返回单个对象 这是我遇到问题的代码部分:

public Class methodName(){
    x = 3;
    if(array[x] != null){
        Class y = array[x];
    }
    return y;
}
它给了我一个关于“y”的错误


因为
y
是在
if
内部声明的,所以在
if
外部不可用

使用默认值在
if
外部声明它,然后在
if
内部重新分配它:

public Class methodName(){
    x = 3;
    Class y = null; // Defaults to null if not reassigned later
    if(array[x] != null){
        y = array[x]; // Reassign the pre-declared y here if necessary
    }
    return y;
}
如果
array[x]==null
,则返回默认值
null


查看变量的作用域,了解这里发生了什么。基本上,如果一个变量是在
{}
中声明的,那么它就不能在
{}
之外使用(尽管这过于简化)。

java是块范围的,而不是函数范围的。您可以通过在带有默认值的
if
块之前声明
y
来修复。
public Class methodName(){
    x = 3;
    Class y = null; // Defaults to null if not reassigned later
    if(array[x] != null){
        y = array[x]; // Reassign the pre-declared y here if necessary
    }
    return y;
}