-3

可能重复:
从 Java 中的变量创建新类

我有这样的场景,

 String className;

 if(someCondition){

 className="A";

   }
 else{
   className='B'
  }

现在我想动态地做到这一点

 className obj=(className) dbObj;//i am typcasting the db casting to particular class

注意:这里 A 和 B 类具有相同的 setter 和 getter 但属于 db 中的两个不同表

4

2 回答 2

2

create-new-class-from-a-variable-in-java

这就是你想要做的:

String className = "A"; //or "B"
Object xyz = Class.forName(className).newInstance();

看看Class.forName()

于 2013-01-22T06:37:25.980 回答
0

你应该稍微修改你的设计。

这两个类AB应该实现相同的接口。

interface IAB {
}

class A implements IAB {
}

class B implements IAB {
}

现在,更改您的代码如下:

IAB className;

if(someCondition) {
    className = (A) dbObj;
}
else {
    className = (B) dbObj;
}

或者

classname = (someCondition ? A : B) dbObj;
于 2013-01-22T06:41:55.383 回答