gpt4 book ai didi

java - 使用 NewInstance 进行转换

转载 作者:行者123 更新时间:2023-12-01 07:54:48 30 4
gpt4 key购买 nike

我需要从一种类型转换为另一种类型。谷歌搜索但卡住了。假设我想将 initObject 转换为 Casted 类。

Object objInstance = initObject.getClass().newInstance();
Casted str=(Casted)objInstance;

为什么会产生ClassCastException

最佳答案

强制转换要求 Casted 类必须是 initObject 类的子类或子接口(interface)。例如:

List<String> list = new ArrayList<String>();
ArrayList<String> castedList = (ArrayList<String>) list; //works
Integer int = (Integer) list; // throws ClassCastException

转换的替代方法可能是转换相关对象的辅助方法。这样的一个例子是 Collections.toArray方法。

通常不鼓励进行强制转换,因为您基本上是在告诉编译器您知道强制转换的对象是什么类型,当然您可能是错误的。

关于java - 使用 NewInstance 进行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31525893/

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