【发布时间】:2018-03-26 12:09:53
【问题描述】:
我需要用实现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;
}
}
错误 - 找不到符号:
Method metodo = classe.getMethod("clone", tipoDoParametroFormal);
【问题讨论】:
-
传入的是什么对象?它实际上有一个公共的
clone方法吗?
标签: java invoke cloneable getmethod