在以下两种情况下,我都不需要条件块之外的名称。这些方法中哪个更好,为什么?
方法1
String name = null
if(){
name = "hello";
} else {
name = "carlo"
}
方法2
if(){
String name = "hello";
} else {
String name = "carlo"
}
答案 0 :(得分:3)
如果您更想使用在else
块结束后设置的name值,则第一种方法更好,因为第二种方法无法编译。 name
变量在if
/ else
块之外不可见。
在不太可能的情况下,您打算将它们视为单独的变量并分别处理,方法2更好,因为它可以使每个变量的范围更局部,从而使代码更具模块化。
更新:更改问题后,很明显,您想要第二种(“可能性较小”)情况。因此,在您的情况下,方法2更好。