我正在筛选一些旧的开源java程序,并试图让它进行编译和运行。在我的许多错误列表中有一个:
java:178: error: <identifier> expected
cons = reflector.getConstructor((Class[])null);
^
java:178: error: cannot find symbol
cons = reflector.getConstructor((Class[])null);
^
symbol: class cons
location: class XMLMapTransformer
有问题的方法是:
private Object unmarshalClass(Class reflector, Node node)
throws InstantiationException, IllegalAccessException,
InvocationTargetException {
Constructor cons = null;
try {
@SuppressWarnings("unchecked")
cons = reflector.getConstructor((Class[])null);
} catch (SecurityException e1) {
e1.printStackTrace();
} catch (NoSuchMethodException e1) {
e1.printStackTrace();
return null;
}
Object o = cons.newInstance((Class)null);
Node n;
Method[] methods = reflector.getMethods();
NamedNodeMap nnm = node.getAttributes();
if (nnm != null) {
for (int i = 0; i < nnm.getLength(); i++) {
n = nnm.item(i);
try {
int j = reflectFindMethodByName(reflector,
"set" + n.getNodeName());
if (j >= 0) {
reflectInvokeMethod(o,methods[j],
new String [] {n.getNodeValue()});
} else {
logger.warn("Unsupported attribute '" +
n.getNodeName() +
"' on <" + node.getNodeName() + "> tag");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
return o;
}
是否有解决此问题的想法?如果需要,我可以提供更多详细信息或链接到源。
答案 0 :(得分:1)
注释可以注释类,成员变量和方法。你不能将它们放入方法体 - 这在语法上是不正确的。将注释移到上面的方法上就可以了。