Java API中的正确返回值?

Dan*_*jel 2 java api

我来自C世界,在那里我们使用"define"来定义不同的返回值,从C函数返回的值,如下所示:

#define RETURN_SUCCESS 0
#define RETURN_ERROR -1

int myFunc()
{
    if(...) return(RETURN_SUCCESS);
    else if(...) return(RETURN_ERROR);            
}
Run Code Online (Sandbox Code Playgroud)

这是如何在Java中以正确的方式完成的?

假设我有:

public MyObject findMyObject()
{
     MyObject tempObject = search();

     if( tempObject.type == myType ) 
     { 
        return tempObject;
     }
     else
     {
        return null; 
     }
}
Run Code Online (Sandbox Code Playgroud)

可以回来null吗?

有没有更合适的方法呢?

Aid*_*anc 5

返回null很好.你会注意到它在Java API中有时会返回null, 或者在需要Int的地方返回-1.经常使用的另一个选项是在出现问题时简单地抛出异常.

倾向于让大多数人和你现在可能会问自己的问题是"嗯,我什么时候抛出异常,什么时候才能返回null?" 这个问题在这里得到了很好的回答.