简单的问题,但我花了一个多小时。我的代码如下。我需要使SomeClass
sc动态化。因此,您将类名作为字符串传递给函数,然后使用该类代替静态someClass。怎么做呢?
SomeClass sc;
if (someOtherClassObject instanceof SomeClass){
sc=(SomeClass) someOtherClassObject;
我想要的是
public void castDynamic (String strClassName){
//cast the classname referred by strClassName to SomeClass
//if it is the instance of SomeClass
}
编辑:上面是简化。实际的代码是这个
public void X(String className, RequestInterface request)
{
//My current code is this, I need to change so that "XRequest"
//can be any class referred by "className",
//and "request.getRequest" the object belonging to "className" class
//I don't want static XRequest xvr, it should be fetched dynamically
XRequest xvr;
if (request.getRequest() instanceof XRequest){
xvr=(XRequest) request.getRequest();
client.setRequest(xvr);
}
}
另一个简单的改写:我使用request.getRequest()得到一个对象。我不知道那个物体是什么。因此,我需要将其强制转换为提供的类字符串名称。怎么做?就这样。–
SQC 13分钟前