Class.forName出错!

sprsong 03-08-08

我想根据参数生成不同实现的Map结果在Eclipse里不通过。
为什么?
源代码如下:
public Map getKey(String mapType){
 Object cc = Class.forName(mapType).newInstance();
 Map k = (Map)cc;
 return k;
}

sprsong
2003-08-10 11:43

呵呵,自己找到原因了,是没有try……catch。
咳,本来应该立刻看出来,不过因为第一次用Class.forName,所以不相信会这么简单就成功,总是以为代码里肯定会出点错,没有想到代码没错,只是没有try。

但是还有问题,对于初始化时必须有参数的class比如。
public class dataAccessAgent{
public dataAccessAgent(String initPara){
……
}
}
没有提供new dataAccessAgent()方法,只能new dataAccessAgent("…"),这种情况如果需要用Class.forName("…").newInstance(),怎么把参数传进去?

guty
2003-08-10 16:04

看Constructor类

sprsong
2003-08-10 21:13

OK了,谢谢!