Petit probleme avec l'opérateur instanceof

Résolu
nicola2s Messages postés 57 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 22 novembre 2006 - 20 avril 2005 à 11:52
nicola2s Messages postés 57 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 22 novembre 2006 - 20 avril 2005 à 14:48
j'ai fai un cient serveur, qui marchent bien.
J'ai créé une classe Identification qui contient les champs suivants
public String nom;
public String ip;
public int port;

sur mon client j'instancie un objet de cette classe. jusque la tout va bien.

Ensuite j'envoi cet objet au serveur. Je le récupere dans un objet obj puis teste avec l'opérateur instanceof si c'est une instance de la classe Identification.
Le pb c'est que ca ne passe pas dans le if, donc il ne voit pas que obj est une instance de Identification.
Dans le else, je fais afficher l'objet et ils m'affichent ca : Identification @ c91310
donc il reconnait bien la classe Identification et pkoi il ajoute @c91310 apres ?? c ca qui gene en fait ??

obj = in.readLine();
if (obj instanceof Identification){
...
}else
System.out.println(obj.toString())
}

Comment faire pour que mon teste puisse marcher: que l'objet que j'envoi soi reconnu comme une instance de la classe Identification.

Parceque dans mon client en fait je vai envoyer différents objets instanciés de différents classes et je veux les distinguer dans le serveur avec cette méthode instanceof .

Merci
A voir également:

2 réponses

indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
20 avril 2005 à 14:13
Slut
ben ton code a l'air bon, en revanche, d'après les docs, instanceof renvoie toujours false si l'objet est égal à null. Il faudrait vérifier que ton objet ait bien une valeur.

Voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
3
nicola2s Messages postés 57 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 22 novembre 2006 1
20 avril 2005 à 14:48
EN fiat j'ai trouvé ma connerie, c mon client, il n'envoyait pas les objets, mais que des chaine de caracteres, don c pour ca qu'il envoyait l'adresse de l'objet et non pas l'obket, sinon ca marche bien !
3
Rejoignez-nous