Méthode dans le type n'est pas applicable pour les arguments

j'ai regardé à travers de nombreux messages sur ici et ne pouvait pas voir la solution que j'ai besoin...

J'obtiens le message d'erreur:

the method initTimer(untitled.Object, String, int int) in the type untitled.TimerClass is not applicable for the arguments (untitled.Toon, String, int, int)

et ça me rend fou.

    timers.initTimer(character, "regenAdd", 0,3);

La ligne ci-dessus est celui de jeter l'erreur et celle-ci est la fonction:

public void initTimer(final Object obj, final String method, int delay, int period) {
delay*=1000;
period*=1000;

final Class<?> unknown = obj.getClass();

new Timer().schedule(new TimerTask() {
  public void run() {
    try {
      //get the method from the class 
      Method whatToDo = unknown.getMethod(method, null);
      try {
        //invoke() the object method
        whatToDo.invoke(obj);
      } catch(Exception e) {
        println("Exception encountered: " + e);
      }
    } catch(NoSuchMethodException e) {
      println("Exception encountered: " + e);
    }
    runState = getTimerState();

    if (!runState) {
      println("timer dead");
      this.cancel();
    }
  }
}
, delay, period);
}

Merci d'avance à toute personne qui peut vous aider avec ceci 🙂

Informations supplémentaires:

runState est un booléen juste au cas où vous ne pouvait pas le deviner et
un caractère est une instance de la Toon classe; la méthode ci-dessus est à l'intérieur
le TimerClass de classe et de "la vieille" est une instance de cette classe.

untitled.Object c'est très mauvais choix pour un nom de classe. Vous devriez envisager de le renommer. Vous essayez de passer untitled.Toonuntitled.Object est prévu.
Pouvez-vous poster le code qui est à l'origine de l'erreur? C'est à dire le code qui appelle cette méthode. Les types de variables d'être passé dans de trop
J'ai renommé theGame maintenant donc, peu importe où il est dit untitled seront maintenant que. L'idée est de passer d'un objet inconnu à la fonction de sorte qu'il peut être utilisé pour plusieurs classes. @Bohème j'ai posté le code qui provoque l'erreur et a déclaré les types de variables =)
Ne untitled.Toon étendre untitled.Object?
Merci beaucoup monsieur, votre question a résolu mon problème! Si vous le publiez, comme réponse, je peux l'accepter en elle =)

OriginalL'auteur PsychoMantis | 2012-12-15