如何从java中的静态初始化块返回
我想从静态块返回。
看起来return和break语句不起作用。 有没有其他选择。
我知道糟糕的解决方法可能是创建一个标志并检查标志是否继续。
我知道初始化块不是用于进行计算,而是用于在类加载期间进行基本初始化。
将代码委托给私有静态方法:
static { initialize(); } private static void initialize() { foo(); if (someCondition) { return; } bar(); }
而不是使用return
只是将条件代码包装在if
。
静态初始化程序没有复杂的业务,所以它可能是一个坏主意(即使你不购买SESE)。
实现回报的最小方式是使用带标签的rest时间。
static { init: { ... break init; } }
它们非常罕见,通常出现在嵌套for
循环中。 新颖性可能会让读者感到有点狡猾。
您无法从静态初始化程序块返回。 没有地方可以回归。 但它不应该是必要的。 您应该能够将代码重组为“单入口,单出口”。
你不能从静态块返回,但最好使用一些其他函数来执行你的逻辑并返回到块。