2011-05-11 2 views
-2

Je veux vous demander quelque chose que je fais comme ça ..LinkedBlockQueue ne peut pas passer Watchable

LinkedBlockingQueue<Whatch_Directory> queue 
    = new LinkedBlockingQueue<classes.Watchable.Whatch_Directory>(); 
queue.put(classes.Watchable.Whatch_Directory.create_watchable("dir")); 

mais tout en bas du classes.Watchable etc c'est la fonction de la classe tout regardable bas lui ne montre pas, seul le regard est en cours d'exécution.

+0

Quoi? C'est extrêmement déroutant. – I82Much

+0

Qu'est-ce qu'un Whatch_Directory? Ma conjecture est que vous essayez d'utiliser une classe qui n'est pas publique ou est nommé quelque chose d'autre comme WatchDirectory ou Watch_Directory. Je ne sais pas pourquoi vous passeriez un Watchable dans une file d'attente dans tous les cas. –

Répondre

0

Si je comprends ce que vous demandez, vous créez une classe Whatch_Directory ailleurs, en essayant de faire un LinkedBlockingQueue de telles choses et en utilisant une méthode d'usine create_watchable() pour en créer un.

Si tel est le cas, il apparaît qu'un Whatch_Directory étend l'interface Watchable (en fonction de vos autres questions). Il semble que votre code devrait devenir quelque chose comme:

class Whatch_Directory implements Watchable { 
    public static Watchable create_watchable(String s) { 
     // Your definition goes here 
    } 
} 

LinkedBlockingQueue<Whatch_Directory> queue = 
    new LinkedBlockingQueue<Whatch_Directory>(); 
queue.put(Whatch_Directory.create_watchable("dir"); 

plus d'explications de votre intention serait utile, mais voici quelques choses que je vous suggère de vérifier basée sur ma compréhension:

  1. Marque Assurez-vous que create_watchable() renvoie le type correct. Il doit retourner quelque chose de type Whatch_Directory en fonction de votre code.

  2. Assurez-vous que create_watchable() ne renvoie pas null pour une raison quelconque.

  3. Assurez-vous que create_watchable() ne déclenche pas d'exception.

+0

Merci :) je vais essayer, cette classe regardable juste me rendre fou ... – user639285

Questions connexes