我有一个与java编程有关的问题。我希望能够通过传递给函数的字符串参数来选择转换类型。如您所见,有一个主类必须转换为子类型。这些子类型应由用户指定。我们怎么能做到这一点?
public void casting(String subClassCast)
{
MainClass mainClass = (subClassCast) MainClassFactory.get();
}
我有一个与java编程有关的问题。我希望能够通过传递给函数的字符串参数来选择转换类型。如您所见,有一个主类必须转换为子类型。这些子类型应由用户指定。我们怎么能做到这一点?
public void casting(String subClassCast)
{
MainClass mainClass = (subClassCast) MainClassFactory.get();
}
你写的演员什么都不做。
演员表用于将超类的对象分配给子类引用
Object obj = a.toString();
String str = (String) obj; // The compiler can't check that at runtime obj will be
// a String, so the programmer "forces" the compiler to
// allow the assignation
需要演员,但在
Object obj2 = (String) obj;
演员什么都不做(除了抛出一个ClassCastException
ifobj
不是字符串)。
你可以这样做:
MainClass mainClass = Class.forName(subClassCast).cast(MainClassFactory.get());
但我不确定这是个好主意。