Bonjour,
Comment fait-on à partir d'un objet: "Object obj;" pour savoir quel est son type?(je voudrais surtout vérifier que c'est bien un caractère).
Bonjour,
Comment fait-on à partir d'un objet: "Object obj;" pour savoir quel est son type?(je voudrais surtout vérifier que c'est bien un caractère).
salut,
Si tu veux connaître, pour toi, le type d'un objet, il suffit d'utiliser la méthode getClass(). Si tu veux pouvoir gérer du code en fonction du type, tu peux utiliser le mot-clé instanceof qui renvoi un boolean. Voici un exemple illustrant ces deux cas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class Test { public static void main(String[] args) { Character c = new Character('a'); Object o = (Object) c; System.out.println("type de c = " + c.getClass()); System.out.println("type de o = " + o.getClass()); if (o instanceof Character) { System.out.println("o est bien de type Character"); } else { System.out.println("o n'est pas de type Character"); } } }
Magnifique, je ne connaissais pas ce mot clé instanceOf, merci.
En fait,mon problème n'était pas celui-là mais je l'ai résolu..(j'avais mis ArrayList<Object>, mais surtout je voulais caster mon Object en char comme ça:
if(ca.jt.getText()== (char)arrayPieces.get(i))
au lieu d'utiliser toString().
et aussi je ne connaissais pas Character (au lieu de char).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 //récupère le caractère d'une pièce (pour la position) public char recupCaractere() { char carPiece = 'z'; ArrayList<Character> arrayPieces = new ArrayList<Character>(); Case ca = new Case(); arrayPieces.add('t'); arrayPieces.add('f'); arrayPieces.add('d'); arrayPieces.add('r'); arrayPieces.add('c'); arrayPieces.add('p'); for(int i=0;i<arrayPieces.size();i++) { if(ca.jt.getText()== arrayPieces.get(i).toString() /*&& arrayPieces.get(i) instanceof Character*/) { carPiece = arrayPieces.get(i); } }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager