参见英文答案 >
How to initialize var?11
我想将一个变量分配给初始值为null,并将其值分配给下一个if-else块,但是编译器发生错误,
我想将一个变量分配给初始值为null,并将其值分配给下一个if-else块,但是编译器发生错误,
Implicitly-typed local variables must be initialized.
我该怎么做到这一点?
解决方法
var变量仍然有一个类型 – 编译器错误消息说这种类型必须在声明期间建立.
具体请求(分配初始空值)可以完成,但我不推荐它.它在这里没有提供优势(因为类型仍然必须指定),并且可以将其视为使代码不太可读:
var x = (String)null;
哪个仍然是“推断类型”,相当于:
String x = null;
编译器不会接受var x = null,因为它不会将null与任何类型 – 甚至是对象关联.使用上述方法,var x =(Object)null将“工作”,尽管这是有用的.
一般来说,当我无法正确使用var的类型推断
>我在一个最好明确声明变量的地方;要么
>我应该重写代码,以便在声明期间分配一个有效的值(具有已建立的类型).