如何转换为指定的类类型?

时间:2012-12-19 08:52:37

标签: java spring oop

  

可能重复:
  Cast via reflection and use of Class.cast()

我有一个与java编程有关的问题。我想通过传递给函数的字符串参数来选择转换类型。如您所见,有一个主类必须转换为子类型。这些子类型应由用户指定。我们怎么做到这一点?

public void casting(String subClassCast)
 {
      MainClass mainClass = (subClassCast) MainClassFactory.get();
 }

2 个答案:

答案 0 :(得分:2)

你写的演员什么也没做。

强制转换用于将超类的对象分配给子类引用

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不是字符串,那么演员不会做任何事情(除了抛出obj。)

答案 1 :(得分:0)

你可以这样做:

MainClass mainClass = Class.forName(subClassCast).cast(MainClassFactory.get());

但我不确定这是个好主意。