gpt4 book ai didi

java - 在 Java 中这两种转换方式有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:31 24 4
gpt4 key购买 nike

Java 中这两种强制转换方式有什么区别?

  1. (CastingClass) objectToCast;

  2. CastingClass.class.cast(objectToCast);

Class#cast(Object)的源码如下:

public T cast(Object obj) {
if (obj != null && !isInstance(obj))
throw new ClassCastException();
return (T) obj;
}

所以,cast 基本上是转换操作的通用包装器,但我仍然不明白为什么您需要一个方法。

最佳答案

静态链接类只能使用第一种形式。

在很多情况下这还不够——例如,您可能已经使用反射获得了类实例,或者它作为参数传递给了您的方法;因此是第二种形式。

关于java - 在 Java 中这两种转换方式有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1725110/

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