|
|
1
10
要回答直接的问题:不需要在这里最初分配一个值;代码执行的所有分支都会给出
与两个返回或一个分支语句分配变量不同,我只返回一个三值:
|
|
|
2
6
最好只初始化
在你的情况下,你已经分配
显然,性能和功能不会以任何相关的方式改变。 |
|
|
3
6
你的前提是有缺陷的:不初始化字符串并不意味着它的值为空。 不允许在分配局部变量之前使用该变量,以避免意外使用不希望使用的值。因此,该值不是“null”,而是未定义的(*)。 这叫做 definite assignment checking ,是否可以防止某些类型的错误。如果给变量一个不需要的值,则禁用此检查,并且编译器试图保护您不受错误的影响。 例如,如果代码如下所示:
你可能有一个bug,因为有一个丢失的案例你还没有检查。
如果你忽略了
(分配和重新分配变量也意味着该变量不是最终变量,因此您将无法在lambda或匿名类中使用它)。
(*)这仅适用于局部变量,以及
|
|
4
2
我采用的最短形式没有terniary运算符(我认为这会降低可读性):
我可能会有一个完整的
|
|
5
1
在您的情况下(如果有其他条件),不需要初始化
另外,我看到您有一个返回字符串的函数。假设
|
|
|
6
0
你可以做这个绳子
使用这种方法编译器将检查
|
|
|
7
0
我的学校是对的,这可以通过十年的接线员来完成。 此外,我认为尽可能多地防止nullpoiterexeption是非常重要的。 如果性别是空的呢?空指针异常 我会把“A”和性别改成这样:
|
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |