[英]Creating singleton factory
String fullName = PATH + "." + name;
Class cl= Class.forName(fullName);
if(name.equalsIgnoreCase("MobileSearch")){
if(msearchType==null){
msearchType=(SearchInterface)cl.newInstance();
}
return msearchType;
}
if(name.equalsIgnoreCase("BookSearch")){
if(bsearchType==null){
bsearchType=(SearchInterface)cl.newInstance();
}
return bsearchType;
}
我如何摆脱这里的if
语句。
我正在使用反射。
请帮忙。 提前致谢。
使用地图:
if (!searchInstances.containsKey(name))
{
searchInstances.put(
name,
(SearchInterface)Class.forName(PATH + "." + name).newInstance()
);
}
return searchInstances.get(name);
您是否只是返回SearchInterface的实例? 如果是这样,为什么不:
String fullName = PATH + "." + name;
Class cl= Class.forName(fullName);
if(searchType==null){
searchType=(SearchInterface)cl.newInstance();
}
return searchType;
希望能有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.