Declaring variables inside or outside of a loop

前端 未结 20 2610
后悔当初
后悔当初 2020-11-22 01:59

Why does the following work fine?

String str;
while (condition) {
    str = calculateStr();
    .....
}

But this one is said to be dangerou

20条回答
  •  清歌不尽
    2020-11-22 02:52

    As many people have pointed out,

    String str;
    while(condition){
        str = calculateStr();
        .....
    }
    

    is NOT better than this:

    while(condition){
        String str = calculateStr();
        .....
    }
    

    So don't declare variables outside their scopes if you are not reusing it...

提交回复
热议问题