有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓 Java将对象类型转换为名为object的字符串类

我有一个类的对象。我想把它打给另一个班。 所以,我们通常做的是-

HeavyVehicle hv = new HeavyVehicle();
Truck tr = (Truck) hv;

如果我们将hv对象类型转换为truckclasses对象

但是如果类的名称存储在这样的字符串中-

String ToCastStringName = "Truck";

有没有办法将hv对象类型转换为名为ToCastStringName的类


共 (1) 个答案

  1. # 1 楼答案

    我不确定您的用例是什么,但您可以实际使用:

    Class.forName(className).cast(someObject)
    

    动态强制转换只知道类名的对象。在您的情况下,代码:

    HeavyVehicle hv = new HeavyVehicle();
    String ToCastStringName = "Truck";
    Class.forName(ToCastStringName).cast(hv);
    

    将返回类型为Truck的对象

    在这篇文章中,关于这两种方法的使用和权衡有一个很长的讨论:Java Class.cast() vs. cast operator