Declaring variables inside or outside of a loop

前端 未结 20 2609
后悔当初
后悔当初 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条回答
  •  猫巷女王i
    2020-11-22 02:42

    You have a risk of NullPointerException if your calculateStr() method returns null and then you try to call a method on str.

    More generally, avoid having variables with a null value. It stronger for class attributes, by the way.

提交回复
热议问题