Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
a écrit :Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
Peut être parce qu'il n'existe pas de constructeur d'Integer sans
argument, contrairement à String.public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
artintel@free.fr a écrit :
Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
Peut être parce qu'il n'existe pas de constructeur d'Integer sans
argument, contrairement à String.
public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
a écrit :Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
Peut être parce qu'il n'existe pas de constructeur d'Integer sans
argument, contrairement à String.public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
Exactement. MaClasse.newInstance() est équivalent à
new Integer(). Or il n'existe pas un tel constructeur.
Samuel Devulder a écrit :
> a écrit :
>> Bonjour,
>> Un test avec la classe String fonctionne, mais ce qui est supose
>> marcher avec une autre classe comme Integer ne marche pas... Si je
>> prend le code ci dessous et que je remplace :
>> Class MaClasse = Class.forName("java .lang.String");
>> par
>> Class MaClasse = Class.forName("java .lang.Integer");
>> J'ai le message d'erreur :
>> Exception : java.lang.Integer Cause : null
>> Je ne vois pas pourquoi ca ne marche pas ...?
> Peut être parce qu'il n'existe pas de constructeur d'Integer sans
> argument, contrairement à String.
>> public static Object functionForName() throws Exception
>> {
>> Class MaClasse = Class.forName("java .lang.String");
>> return MaClasse.newInstance();
>> }
--
Christian Laborde
La Révolution citoyenne, c'est sur :http://c.lab.over-blog.com/
Le forum des électrons libres :http://electrons-libres.forumactif.fr
Les citoyens qui voient Net :http://www.netoyens.info
True E-mail : remove -no-spam-
Sentier des Vinches
CH 1091 Grandvaux
Suisse- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Exactement. MaClasse.newInstance() est équivalent à
new Integer(). Or il n'existe pas un tel constructeur.
Samuel Devulder a écrit :
> artin...@free.fr a écrit :
>> Bonjour,
>> Un test avec la classe String fonctionne, mais ce qui est supose
>> marcher avec une autre classe comme Integer ne marche pas... Si je
>> prend le code ci dessous et que je remplace :
>> Class MaClasse = Class.forName("java .lang.String");
>> par
>> Class MaClasse = Class.forName("java .lang.Integer");
>> J'ai le message d'erreur :
>> Exception : java.lang.Integer Cause : null
>> Je ne vois pas pourquoi ca ne marche pas ...?
> Peut être parce qu'il n'existe pas de constructeur d'Integer sans
> argument, contrairement à String.
>> public static Object functionForName() throws Exception
>> {
>> Class MaClasse = Class.forName("java .lang.String");
>> return MaClasse.newInstance();
>> }
--
Christian Laborde
La Révolution citoyenne, c'est sur :http://c.lab.over-blog.com/
Le forum des électrons libres :http://electrons-libres.forumactif.fr
Les citoyens qui voient Net :http://www.netoyens.info
True E-mail : remove -no-spam-
Sentier des Vinches
CH 1091 Grandvaux
Suisse- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Exactement. MaClasse.newInstance() est équivalent à
new Integer(). Or il n'existe pas un tel constructeur.
Samuel Devulder a écrit :
> a écrit :
>> Bonjour,
>> Un test avec la classe String fonctionne, mais ce qui est supose
>> marcher avec une autre classe comme Integer ne marche pas... Si je
>> prend le code ci dessous et que je remplace :
>> Class MaClasse = Class.forName("java .lang.String");
>> par
>> Class MaClasse = Class.forName("java .lang.Integer");
>> J'ai le message d'erreur :
>> Exception : java.lang.Integer Cause : null
>> Je ne vois pas pourquoi ca ne marche pas ...?
> Peut être parce qu'il n'existe pas de constructeur d'Integer sans
> argument, contrairement à String.
>> public static Object functionForName() throws Exception
>> {
>> Class MaClasse = Class.forName("java .lang.String");
>> return MaClasse.newInstance();
>> }
--
Christian Laborde
La Révolution citoyenne, c'est sur :http://c.lab.over-blog.com/
Le forum des électrons libres :http://electrons-libres.forumactif.fr
Les citoyens qui voient Net :http://www.netoyens.info
True E-mail : remove -no-spam-
Sentier des Vinches
CH 1091 Grandvaux
Suisse- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
a écrit :Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
Peut être parce qu'il n'existe pas de constructeur d'Integer sans
argument, contrairement à String.public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
artin...@free.fr a écrit :
Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
Peut être parce qu'il n'existe pas de constructeur d'Integer sans
argument, contrairement à String.
public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
a écrit :Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
Peut être parce qu'il n'existe pas de constructeur d'Integer sans
argument, contrairement à String.public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
wrote:
>>> a écrit :
>>>> Bonjour,
>>>> Un test avec la classe String fonctionne, mais ce qui est supose
>>>> marcher avec une autre classe comme Integer ne marche pas... Si je
>>>> prend le code ci dessous et que je remplace :
>>>> Class MaClasse = Class.forName("ja va.lang.String");
>>>> par
>>>> Class MaClasse = Class.forName("ja va.lang.Integer");
>>>> J'ai le message d'erreur :
>>>> Exception : java.lang.Integer Cause : null
>>>> Je ne vois pas pourquoi ca ne marche pas ...?
>>> Peut être parce qu'il n'existe pas de constructeur d'Integer sans
>>> argument, contrairement à String.
>>>> public static Object functionForName() throws Exception
>>>> {
>>>> Class MaClasse = Class.forName("ja va.lang.String");
>>>> return MaClasse.newInstance();
>>>> }
Pour information, dans ce cas d'utilisation il est inutile d'appeler
Class.forName(). Cela sert à forcer le chargement d'une classe si elle
n'est pas déjà chargée.
Pour Obtenir l'objet de type Class correspondant à Integer, il suffit d e
faire :
Class MaClasse = Integer.class;
Ce qui évite d'utiliser une chaîne de caractère dans laquelle il
pourrait y avoir une typo.
De plus, c'est une meilleure pratique d'utiliser les génériques et
autres simplifications introduites avec Java 1.5. Et c'est aussi une
meilleure pratique de ne laisser que les noms de classe commencer par
une majuscule :
Class<Integer> maClasse = Integer.class;
Donc, le code devient :
Class<Integer> maClasse = Integer.class;
Constructor<Integer> constructeur = maClasse.getConstructor(String.clas s);
return constructeur.newInstance("6");
--
Mayeul- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
artin...@free.fr wrote:
>>> artin...@free.fr a écrit :
>>>> Bonjour,
>>>> Un test avec la classe String fonctionne, mais ce qui est supose
>>>> marcher avec une autre classe comme Integer ne marche pas... Si je
>>>> prend le code ci dessous et que je remplace :
>>>> Class MaClasse = Class.forName("ja va.lang.String");
>>>> par
>>>> Class MaClasse = Class.forName("ja va.lang.Integer");
>>>> J'ai le message d'erreur :
>>>> Exception : java.lang.Integer Cause : null
>>>> Je ne vois pas pourquoi ca ne marche pas ...?
>>> Peut être parce qu'il n'existe pas de constructeur d'Integer sans
>>> argument, contrairement à String.
>>>> public static Object functionForName() throws Exception
>>>> {
>>>> Class MaClasse = Class.forName("ja va.lang.String");
>>>> return MaClasse.newInstance();
>>>> }
Pour information, dans ce cas d'utilisation il est inutile d'appeler
Class.forName(). Cela sert à forcer le chargement d'une classe si elle
n'est pas déjà chargée.
Pour Obtenir l'objet de type Class correspondant à Integer, il suffit d e
faire :
Class MaClasse = Integer.class;
Ce qui évite d'utiliser une chaîne de caractère dans laquelle il
pourrait y avoir une typo.
De plus, c'est une meilleure pratique d'utiliser les génériques et
autres simplifications introduites avec Java 1.5. Et c'est aussi une
meilleure pratique de ne laisser que les noms de classe commencer par
une majuscule :
Class<Integer> maClasse = Integer.class;
Donc, le code devient :
Class<Integer> maClasse = Integer.class;
Constructor<Integer> constructeur = maClasse.getConstructor(String.clas s);
return constructeur.newInstance("6");
--
Mayeul- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
wrote:
>>> a écrit :
>>>> Bonjour,
>>>> Un test avec la classe String fonctionne, mais ce qui est supose
>>>> marcher avec une autre classe comme Integer ne marche pas... Si je
>>>> prend le code ci dessous et que je remplace :
>>>> Class MaClasse = Class.forName("ja va.lang.String");
>>>> par
>>>> Class MaClasse = Class.forName("ja va.lang.Integer");
>>>> J'ai le message d'erreur :
>>>> Exception : java.lang.Integer Cause : null
>>>> Je ne vois pas pourquoi ca ne marche pas ...?
>>> Peut être parce qu'il n'existe pas de constructeur d'Integer sans
>>> argument, contrairement à String.
>>>> public static Object functionForName() throws Exception
>>>> {
>>>> Class MaClasse = Class.forName("ja va.lang.String");
>>>> return MaClasse.newInstance();
>>>> }
Pour information, dans ce cas d'utilisation il est inutile d'appeler
Class.forName(). Cela sert à forcer le chargement d'une classe si elle
n'est pas déjà chargée.
Pour Obtenir l'objet de type Class correspondant à Integer, il suffit d e
faire :
Class MaClasse = Integer.class;
Ce qui évite d'utiliser une chaîne de caractère dans laquelle il
pourrait y avoir une typo.
De plus, c'est une meilleure pratique d'utiliser les génériques et
autres simplifications introduites avec Java 1.5. Et c'est aussi une
meilleure pratique de ne laisser que les noms de classe commencer par
une majuscule :
Class<Integer> maClasse = Integer.class;
Donc, le code devient :
Class<Integer> maClasse = Integer.class;
Constructor<Integer> constructeur = maClasse.getConstructor(String.clas s);
return constructeur.newInstance("6");
--
Mayeul- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
wrote:
>>> a écrit :
>>>> Bonjour,
>>>> Un test avec la classe String fonctionne, mais ce qui est supose
>>>> marcher avec une autre classe comme Integer ne marche pas... Si je
>>>> prend le code ci dessous et que je remplace :
>>>> Class MaClasse = Class.forName("ja va.lang.String");
>>>> par
>>>> Class MaClasse = Class.forName("ja va.lang.Integer");
>>>> J'ai le message d'erreur :
>>>> Exception : java.lang.Integer Cause : null
>>>> Je ne vois pas pourquoi ca ne marche pas ...?
>>> Peut être parce qu'il n'existe pas de constructeur d'Integer sans
>>> argument, contrairement à String.
>>>> public static Object functionForName() throws Exception
>>>> {
>>>> Class MaClasse = Class.forName("ja va.lang.String");
>>>> return MaClasse.newInstance();
>>>> }
Pour information, dans ce cas d'utilisation il est inutile d'appeler
Class.forName(). Cela sert à forcer le chargement d'une classe si elle
n'est pas déjà chargée.
Pour Obtenir l'objet de type Class correspondant à Integer, il suffit d e
faire :
Class MaClasse = Integer.class;
Ce qui évite d'utiliser une chaîne de caractère dans laquelle il
pourrait y avoir une typo.
De plus, c'est une meilleure pratique d'utiliser les génériques et
autres simplifications introduites avec Java 1.5. Et c'est aussi une
meilleure pratique de ne laisser que les noms de classe commencer par
une majuscule :
Class<Integer> maClasse = Integer.class;
Donc, le code devient :
Class<Integer> maClasse = Integer.class;
Constructor<Integer> constructeur = maClasse.getConstructor(String.clas s);
return constructeur.newInstance("6");
--
Mayeul- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
artin...@free.fr wrote:
>>> artin...@free.fr a écrit :
>>>> Bonjour,
>>>> Un test avec la classe String fonctionne, mais ce qui est supose
>>>> marcher avec une autre classe comme Integer ne marche pas... Si je
>>>> prend le code ci dessous et que je remplace :
>>>> Class MaClasse = Class.forName("ja va.lang.String");
>>>> par
>>>> Class MaClasse = Class.forName("ja va.lang.Integer");
>>>> J'ai le message d'erreur :
>>>> Exception : java.lang.Integer Cause : null
>>>> Je ne vois pas pourquoi ca ne marche pas ...?
>>> Peut être parce qu'il n'existe pas de constructeur d'Integer sans
>>> argument, contrairement à String.
>>>> public static Object functionForName() throws Exception
>>>> {
>>>> Class MaClasse = Class.forName("ja va.lang.String");
>>>> return MaClasse.newInstance();
>>>> }
Pour information, dans ce cas d'utilisation il est inutile d'appeler
Class.forName(). Cela sert à forcer le chargement d'une classe si elle
n'est pas déjà chargée.
Pour Obtenir l'objet de type Class correspondant à Integer, il suffit d e
faire :
Class MaClasse = Integer.class;
Ce qui évite d'utiliser une chaîne de caractère dans laquelle il
pourrait y avoir une typo.
De plus, c'est une meilleure pratique d'utiliser les génériques et
autres simplifications introduites avec Java 1.5. Et c'est aussi une
meilleure pratique de ne laisser que les noms de classe commencer par
une majuscule :
Class<Integer> maClasse = Integer.class;
Donc, le code devient :
Class<Integer> maClasse = Integer.class;
Constructor<Integer> constructeur = maClasse.getConstructor(String.clas s);
return constructeur.newInstance("6");
--
Mayeul- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
wrote:
>>> a écrit :
>>>> Bonjour,
>>>> Un test avec la classe String fonctionne, mais ce qui est supose
>>>> marcher avec une autre classe comme Integer ne marche pas... Si je
>>>> prend le code ci dessous et que je remplace :
>>>> Class MaClasse = Class.forName("ja va.lang.String");
>>>> par
>>>> Class MaClasse = Class.forName("ja va.lang.Integer");
>>>> J'ai le message d'erreur :
>>>> Exception : java.lang.Integer Cause : null
>>>> Je ne vois pas pourquoi ca ne marche pas ...?
>>> Peut être parce qu'il n'existe pas de constructeur d'Integer sans
>>> argument, contrairement à String.
>>>> public static Object functionForName() throws Exception
>>>> {
>>>> Class MaClasse = Class.forName("ja va.lang.String");
>>>> return MaClasse.newInstance();
>>>> }
Pour information, dans ce cas d'utilisation il est inutile d'appeler
Class.forName(). Cela sert à forcer le chargement d'une classe si elle
n'est pas déjà chargée.
Pour Obtenir l'objet de type Class correspondant à Integer, il suffit d e
faire :
Class MaClasse = Integer.class;
Ce qui évite d'utiliser une chaîne de caractère dans laquelle il
pourrait y avoir une typo.
De plus, c'est une meilleure pratique d'utiliser les génériques et
autres simplifications introduites avec Java 1.5. Et c'est aussi une
meilleure pratique de ne laisser que les noms de classe commencer par
une majuscule :
Class<Integer> maClasse = Integer.class;
Donc, le code devient :
Class<Integer> maClasse = Integer.class;
Constructor<Integer> constructeur = maClasse.getConstructor(String.clas s);
return constructeur.newInstance("6");
--
Mayeul- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
On 17 avr, 17:58, Mayeul wrote:wrote:a écrit :Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
Peut être parce qu'il n'existe pas de constructeur d'Integer sans
argument, contrairement à String.public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
Pour information, dans ce cas d'utilisation il est inutile d'appeler
Class.forName(). Cela sert à forcer le chargement d'une classe si elle
n'est pas déjà chargée.
Pour Obtenir l'objet de type Class correspondant à Integer, il suffit de
faire :
Class MaClasse = Integer.class;
Ce qui évite d'utiliser une chaîne de caractère dans laquelle il
pourrait y avoir une typo.
De plus, c'est une meilleure pratique d'utiliser les génériques et
autres simplifications introduites avec Java 1.5. Et c'est aussi une
meilleure pratique de ne laisser que les noms de classe commencer par
une majuscule :
Class<Integer> maClasse = Integer.class;
Donc, le code devient :
Class<Integer> maClasse = Integer.class;
Constructor<Integer> constructeur = maClasse.getConstructor(String.class);
return constructeur.newInstance("6");
--
Mayeul- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Oui, daccord, mais ... :o) "l'objet de type Class correspondant à
Integer" c'est vachement abstrait ca ... Un objet de type Class, bon,
a la limite, j'imagine ce que ca peut etre, mais "correspondant" la,
je decroche....
On 17 avr, 17:58, Mayeul <mayeul.marg...@free.fr> wrote:
artin...@free.fr wrote:
artin...@free.fr a écrit :
Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
Peut être parce qu'il n'existe pas de constructeur d'Integer sans
argument, contrairement à String.
public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
Pour information, dans ce cas d'utilisation il est inutile d'appeler
Class.forName(). Cela sert à forcer le chargement d'une classe si elle
n'est pas déjà chargée.
Pour Obtenir l'objet de type Class correspondant à Integer, il suffit de
faire :
Class MaClasse = Integer.class;
Ce qui évite d'utiliser une chaîne de caractère dans laquelle il
pourrait y avoir une typo.
De plus, c'est une meilleure pratique d'utiliser les génériques et
autres simplifications introduites avec Java 1.5. Et c'est aussi une
meilleure pratique de ne laisser que les noms de classe commencer par
une majuscule :
Class<Integer> maClasse = Integer.class;
Donc, le code devient :
Class<Integer> maClasse = Integer.class;
Constructor<Integer> constructeur = maClasse.getConstructor(String.class);
return constructeur.newInstance("6");
--
Mayeul- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Oui, daccord, mais ... :o) "l'objet de type Class correspondant à
Integer" c'est vachement abstrait ca ... Un objet de type Class, bon,
a la limite, j'imagine ce que ca peut etre, mais "correspondant" la,
je decroche....
On 17 avr, 17:58, Mayeul wrote:wrote:a écrit :Bonjour,
Un test avec la classe String fonctionne, mais ce qui est supose
marcher avec une autre classe comme Integer ne marche pas... Si je
prend le code ci dessous et que je remplace :
Class MaClasse = Class.forName("java.lang.String");
par
Class MaClasse = Class.forName("java.lang.Integer");
J'ai le message d'erreur :
Exception : java.lang.Integer Cause : null
Je ne vois pas pourquoi ca ne marche pas ...?
Peut être parce qu'il n'existe pas de constructeur d'Integer sans
argument, contrairement à String.public static Object functionForName() throws Exception
{
Class MaClasse = Class.forName("java.lang.String");
return MaClasse.newInstance();
}
Pour information, dans ce cas d'utilisation il est inutile d'appeler
Class.forName(). Cela sert à forcer le chargement d'une classe si elle
n'est pas déjà chargée.
Pour Obtenir l'objet de type Class correspondant à Integer, il suffit de
faire :
Class MaClasse = Integer.class;
Ce qui évite d'utiliser une chaîne de caractère dans laquelle il
pourrait y avoir une typo.
De plus, c'est une meilleure pratique d'utiliser les génériques et
autres simplifications introduites avec Java 1.5. Et c'est aussi une
meilleure pratique de ne laisser que les noms de classe commencer par
une majuscule :
Class<Integer> maClasse = Integer.class;
Donc, le code devient :
Class<Integer> maClasse = Integer.class;
Constructor<Integer> constructeur = maClasse.getConstructor(String.class);
return constructeur.newInstance("6");
--
Mayeul- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Oui, daccord, mais ... :o) "l'objet de type Class correspondant à
Integer" c'est vachement abstrait ca ... Un objet de type Class, bon,
a la limite, j'imagine ce que ca peut etre, mais "correspondant" la,
je decroche....