我只是想问,是否可以通过调用return;
来检查void方法是否“取消”自身?
例如,在我的 main 中,我调用 calculate(myArray);
,其定义如下:
public static void calculate(Object[] array) {
if (array == null)
return;
// do stuff
}
他们有办法知道它是否返回吗?我的想法是创建一个“全局” boolean 值,在返回之前将其更改为 true,然后在 main 中检查它的值,或者只是将返回类型更改为 int 之类的类型,当它在开始时返回时,我们使用 return -1 ;
并在方法末尾return 0;
两者都有可能,但我认为它们都不是很好的风格。有替代方案吗?
最佳答案
你是对的,你所描述的做法在 Java(和其他现代语言)中被认为是不好的。
适合您的场景的最常见可接受的做法是:
- 使方法抛出异常。如果“失败”代码路径在正常情况下不应发生,请执行此操作。
- 使方法的返回类型为
bool
来指示成功或失败。如果在正常情况下也可能发生“失败”代码路径,请执行此操作。
关于java - 我可以检查是否返回了 void 方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26717583/