Effectivement, merci de la correction : je pensais que le '$' n'�tait
r�serv� que pour le nom des fichiers *.class sur le disque.

-----Message d'origine-----
De : Dominique Gallot [mailto:[EMAIL PROTECTED]]
Envoy� : vendredi 11 octobre 2002 10:08
� : [EMAIL PROTECTED]
Objet : RE: Nom de la classe d'un oobjet



Erreur !
Le nom des inner classes est avec des $ et pas avec des . !
Le nom des classes anonyme aussi le nom etant un nombre entirer de 1 � x

Donc dans ton cas

- le package : toto.titi
- le nom : Truc$Bidule

Essaye tu verras !
package package;

public class T
{
  static class S
  {
  }
  public static void main( String args[])
  {
    System.err.println(new T.C().getClass().getName);
    System.err.println( new Object() {}.getClass().getName );
QUIZZ c'est quoi ca ?
  }
}

Ceci donne

package.T$S
package.T$1
Et pourquoi ca ? C'est un Object non ?

Dominique



|---------+---------------------------->
|         |           "Zeljko VELAJA"  |
|         |           <zvelaja@visualfr|
|         |           iendly.com>      |
|         |                            |
|         |           10/10/02 04:31 PM|
|         |           Please respond to|
|         |           java             |
|         |                            |
|---------+---------------------------->

>---------------------------------------------------------------------------
----------------------------------------------------|
  |
|
  |        To:      <[EMAIL PROTECTED]>
|
  |        cc:      (bcc: Dominique Gallot/BRU/MASTERCARD)
|
  |        Subject: RE: Nom de la classe d'un oobjet
|

>---------------------------------------------------------------------------
----------------------------------------------------|




Probl�me n�anmoins si on a une classe interne, genre :

package toto.titi;

public class Truc
{
             static public class Bidule
             {
             }
}

dans ce cas, nous avons :

toto.titi.Truc.Bidule

et logiquement, si l'on ne s�pare que le nom de son package, on a :

- le package : toto.titi
- le nom : Truc.Bidule

or proc�der par lastIndexOf renvoie seulement : Bidule ...


-----Message d'origine-----
De : Patrice Godard [mailto:[EMAIL PROTECTED]]
Envoy� : jeudi 10 octobre 2002 15:03
� : [EMAIL PROTECTED]
Objet : Re: Nom de la classe d'un oobjet


String s = getClass().getName()
String classe = s.substring(s.lastIndexOf('.')+1);


-----Original Message-----
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Date: Thu, 10 Oct 2002 15:00:09 +0200
Subject: Nom de la classe d'un oobjet

Bonjour,

Je r�cup�re le nom de la classe d'un objet par ".getClass().getName()".
Seulement l'objet est maintenant dans un package, et cette m�thode me
renvoie le nom
de la classe pr�c�d�e du package.

Quelle est la solution pour faire fonctionner ceci comme avant ?

Merci par avance pour votre aide.

Eddy PALISSE
--

INGENCYS
Agence Conseil & Ing�nierie en Syst�mes d'Informations

20A, rue du Grand S�minaire
28630 LE COUDRAY

T�l. 02 37 25 12 00 - Fax : 02 37 25 12 01

http://www.ingencys.net

-- S'il n'y a pas de solution, il n'y a pas de probl�me --




Répondre à