【发布时间】:2011-12-27 22:32:47
【问题描述】:
假设我有两个派生自第三个抽象类的类:
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;
如果它不是 ChildA 类型的对象,这会使 child == null 。如果我这样做:
ChildA child = (ChildA)obj;
...在 C# 中,如果类型不正确,这将引发异常。
所以基本上,有没有办法在 Java 中进行第一种类型的转换?谢谢。
【问题讨论】:
-
抱歉。我搜索了“类型安全转换 java”。我没想到要搜索“作为关键字 java”。
-
然后它被 NPE 炸毁了。 ;)