这个问题只是让我理解这个概念。如何将null转换为(Throwable)? null不是一个类吧?这个问题显然是愚蠢的。
我知道:
public class SuperClass{
int id = 0;
public SuperClass(int id){
this.id = id;
}
}
public class SubClass extends SuperClass{
public SubClass(int id) {
super(id);
}
}
public class Tester{
SubClass sub = new SubClass(1);
SuperClass s = new SuperClass(2);
SuperClass s1 = new SubClass(3);
public Tester(){
if(s1 instanceof SubClass){
//true
SubClass subClass = (SubClass) s1;
}
}
}`
答案 0 :(得分:1)
需要注意的关键点是,在所有结果再次为null之后,您可以将null
强制转换为任何引用类型。
答案 1 :(得分:1)
null不是一种类型。它在概念上可以与任何类的实例相比
String s = (String)null;
Integer i = (Integer)null;
答案 2 :(得分:1)
如何将null转换为(Throwable)? null不是一个类吧?
null
没有类型。
null
可以转换为任何类或接口类型。它不能被铸造成一个原始的。
Throwable是java.lang
。
你不能施放类,只能引用。
String s = "Hello";
此处变量s
是引用,不是类或对象,甚至也不是String
。
Throwable t = new Throwable();
此处变量t
是对Throwable
的引用,但可以设置为null
;
Throwable t = null; // the reference doesn't point to any object.
答案 3 :(得分:0)
正如其他人所写,你可以将null转换为所有内容。
通常,您不需要,您可以写:
AUTOINCREMENT PRIMARY KEY
没有把演员放在那里。
这种演员阵容有意义的唯一地方是:
a)如果你想确保调用一个特定的方法,比如:
String nullString = null;
如果你输入
,它会有所作为void foo(String bar) { ... }
void foo(Object bar) { ... }
b)如果您打算使用IDE生成代码;例如,我通常编写单元测试,如:
foo((String) null) vs. foo(null)
我在做TDD;这意味着班级" MyClassUnderTest"可能还没有存在。通过写下该代码,我可以使用我的IDE首先生成新类;然后生成一个构造函数接受一个" Whatever"论点。