假设我有两个派生自第三个抽象类的类:
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 中进行第一种类型的转换?谢谢。
原文由 garrettendi 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想不出语言本身的方法,但你可以像这样轻松地模拟它: