Java 从静态初始值设定项返回

Java 从静态初始值设定项返回,java,Java,可能重复: 有没有一种方法可以退出Java中的静态初始化器,类似下面的代码(不编译): ps:是的,我知道,这个例子毫无意义,I==0在这一点上总是错误的,但这不是重点 一种快速而肮脏的方法是,将错误地用于循环,并将其break语句用于流控制: static { int i = 0; for(;;) { if(i == 0) break; // more code // more conditio

可能重复:

有没有一种方法可以退出Java中的静态初始化器,类似下面的代码(不编译):


ps:是的,我知道,这个例子毫无意义,
I==0
在这一点上总是错误的,但这不是重点

一种快速而肮脏的方法是,将
错误地用于
循环,并将其
break
语句用于流控制:

static
{
    int i = 0;

    for(;;)
    {
        if(i == 0)
            break;
        // more code
        // more conditions
        // don't forget the final break
        break;
    }
}

改用
System.exit(0)
。@Eng.Fouad我不想退出,只需继续执行代码的其余部分-重复部分回答了为什么不可能,谢谢。然后,在实例块上使用一个标签并打破该标签
static{label:{if(i==0)break label;i=0}
@Eng.Fouad这是一个难看的hack,但它确实有效!使用标签更干净:)。。我想+1这个答案,但今天剩下的时间我的票数都快用完了:):-)这就是为什么我说得又快又脏^^
static
{
    int i = 0;

    for(;;)
    {
        if(i == 0)
            break;
        // more code
        // more conditions
        // don't forget the final break
        break;
    }
}