gpt4 book ai didi

java - Java中有 "type safe"转换的形式吗?

转载 作者:IT老高 更新时间:2023-10-28 21:07:00 26 4
gpt4 key购买 nike

假设我有两个派生自第三个抽象类的类:

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 中进行第一种类型的转换?谢谢。

最佳答案

我想不出语言本身的方法,但你可以像这样轻松地模仿它:

ChildA child = (obj instanceof ChildA ? (ChildA)obj : null);

关于java - Java中有 "type safe"转换的形式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8649975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com