考虑以下代码snipett:
public String testMethod1(int i, int j)
{
//do something
testmethod2(i,j);
return "some string";
}
public String testMethod2(int i, int j)
{
//do something
if(some condition)
{
//Stop execution of this method
//continue execution of previous method as if this method was never called
}
return "some string";
}
有没有办法可以在java中实现类似的功能。我希望第二种方法停止执行,第一种方法应该继续,好像第二种方法永远不会被调用
答案 0 :(得分:1)
在testMethod2
中,您应该return
停止执行。但是,只有普通的return
是不够的,因为您的方法返回String
。您必须返回String
或null。
我的建议是返回一个空字符串(""
)。为什么不返回null?因为调用方法可能想要对返回的字符串执行某些操作。如果为null,则抛出NullPointerException
,这不好!
所以你应该这样做:
if (some condition) {
return "";
}