重新声明/重新定义Java变量循环

重新声明/重新定义Java变量循环,java,scope,instance-variables,do-loops,Java,Scope,Instance Variables,Do Loops,我知道建议在尽可能窄的范围内声明变量,但如果需要在循环内重新定义变量,然后该结果就是需要在以后使用的结果,该怎么办。下面是do-while循环中的示例代码 OtherClass otherClass = new OtherClass(); SomeClass someClass; long timeout = System.currentTimeMillis() + 1500; boolean isExpectedUser;

我知道建议在尽可能窄的范围内声明变量,但如果需要在循环内重新定义变量,然后该结果就是需要在以后使用的结果,该怎么办。下面是do-while循环中的示例代码

        OtherClass otherClass = new OtherClass();
        SomeClass someClass;
        long timeout = System.currentTimeMillis() + 1500;

        boolean isExpectedUser;
        do {
            someClass = otherClass.getWhateverList.get(0);
            isExpectedUser = someClass.getUser().equals(userWanted);
        } while (!isExpectedUser && System.currentTimeMillis() < timeout);

        String uiStartTime = someClass.getTime();
        assertNotNull(uiStartTime, "String");
OtherClass OtherClass=新的OtherClass();
某类某类;
长超时=System.currentTimeMillis()+1500;
布尔isExpectedUser;
做{
someClass=otherClass.getWhateverList.get(0);
isExpectedUser=someClass.getUser().equals(userWanted);
}而(!isExpectedUser&&System.currentTimeMillis()
您的代码很好。您已经在最窄的范围内声明了它,因为它是循环之后需要的。您有什么问题吗?谢谢。我不确定循环中重新定义的变量someClass是否是现在用于uiStartTime的变量,但它看起来是这样的