我需要使用implements cloneable创建一个泛型类,为此,我需要执行该类的克隆方法,并使用另一个方法来获取此方法。老师把它传到了教室里,但没有正常工作,并给出了方法错误。我该怎么办?
public class Deposito <X> implements Cloneable {
public Object clone () {
Deposito ret=null;
try {
ret = new Deposito (this);
}
catch (Exception erro) {
}
return ret;
}
private X meuCloneDeX (X x) {
X ret = null;
try {
Class<?> classe = x.getClass();
Class<?>[] tipoDoParametroFormal = null;
Method metodo = classe.getMethod ("clone", tipoDoParametroFormal);
Object[] parametroReal = null;// pq clone tem 0 parametros
ret = ((X)metodo.invoke (x, parametroReal));
}
catch (NoSuchMethodException erro)
{}
catch (InvocationTargetException erro)
{}
catch (IllegalAccessException erro)
{}
return ret;
}
}错误-找不到符号:
方法metodo = classe.getMethod (“克隆”,tipoDoParametroFormal);
发布于 2017-10-14 23:23:47
也许你应该使用Class#getDeclaredMethod。因为你刚刚“声明”了你的克隆method...and,所以当这个方法的第二个参数为空时,最好忽略它。
https://stackoverflow.com/questions/46745448
复制相似问题