假设我有两个班,从第三个抽象类派生:通过做在Java中是否存在“类型安全”转换的形式?
public abstract class Parent{
public Parent(){
}
}
public class ChildA extends Parent {
public ChildA {
}
}
public class ChildB extends Parent {
public ChildB {
}
}
在C#中我能胜任在有些类型安全的方式铸:
ChildA child = obj as ChildA;
这将使孩子== NULL如果它不是一个ChildA类型的对象。如果我这样做:
ChildA child = (ChildA)obj;
...在C#中,如果类型不正确,会引发异常。
所以基本上,有没有办法在Java中进行第一种类型的投射?谢谢。
复制:http://stackoverflow.com/questions/148828/how-to-emulate-c-sharp-as-operator-in-java – 2011-12-27 22:37:26
道歉。我搜索了“类型安全铸造java”。我没有想到要搜索“as keyword java”。 – garrettendi 2011-12-27 22:53:14
然后它爆炸与NPE。 ;) – 2011-12-27 22:53:40