我想从静态块返回。
貌似回归和break语句不工作。 是否有任何替代。
我知道坏的解决方法可以创建一个标志,检查标志,以继续。
据我所知,初始化块并不意味着做计算,但只为类加载过程中基本的初始化。
我想从静态块返回。
貌似回归和break语句不工作。 是否有任何替代。
我知道坏的解决方法可以创建一个标志,检查标志,以继续。
据我所知,初始化块并不意味着做计算,但只为类加载过程中基本的初始化。
委托代码到一个私人静态方法:
static {
initialize();
}
private static void initialize() {
foo();
if (someCondition) {
return;
}
bar();
}
而不是使用的return
只是包裹在你的条件代码if
。
静态initialisers没有生意正在变得复杂,所以它可能是一个坏主意(即使你不买SESE)。
实现收益最小的方法是使用一个标签break。
static {
init: {
...
break init;
}
}
他们是非常罕见的,通常出现在嵌套for
循环。 新颖性可能会通风报信的东西有些冒险是怎么回事读者。
你不能从静态初始化块返回。 有无处返回。 但它不应该是必要的。 你应该能够调整你的代码是“单入口,单出口”。
您无法从静止块,但更好的恢复使用,将执行你的逻辑,并返回到块中的一些其他功能。