2

我需要用 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);

4

1 回答 1

0

也许你应该使用Class#getDeclaredMethod. 因为你刚刚“声明”了你的克隆方法......如果它为空时忽略这个方法的第二个参数会更好。

于 2017-10-14T15:23:47.157 回答