我用Java 7中,我创建一个可变参数方法为什么铸造(对象)空结果不为空?
public class JavaApplicationTest {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
addBundleMessage("b", Integer.SIZE, "key", (Object) null);
}
public static void addBundleMessage(String bundleName, Integer severity, String key, Object... params) {
if (params == null)
System.out.println("params Is null");
else
System.out.println("Params not null");
}
}
如果我不投的对象,在Netbeans的集成开发环境Eclipse或抱怨,但它编译:
的非可变参数调用varags法不精确的参数类型为去年 参数
当没有投:它显示PARAM s为null
当我投null以(对象)它显示PARAMS不是null
当我投null以(对象[])它显示params为null
这是正常行为吗?