la conversion de l'objet en char en java
Dans un de mes problème je suis RuntimeException, car il est nécessaire de convertir l'objet en char.J'ai essayé de le faire en utilisant charValueOf() la méthode pour obtenir la valeur primitive de l'objet, mais ne pouvait pas le faire. Voici mon code.....
while ((stack.size() > 0) && (stack.peek() != '('))
{
if (ComparePrecedence(stack.peek(), infix[i]))
{
}
}
boolean ComparePrecedence(char top, char p_2)
{
}
comment puis-je résoudre le problème? merci..
- Ce sont pile et infix? Quel exception obtenez-vous?
- plus d'information est nécessaire afin d'obtenir suffisamment de répondre à cette question.
Vous devez vous connecter pour publier un commentaire.
Son généralement pas une bonne idée d'essayer de convertir un objet générique pour un char comme il n'a pas de sens. Si l'objet est un Caractère, vous pouvez utiliser les méthodes suivantes.
Character
, vous pouvez lancer l'objet, puis invoqueCharacter#charValue
pour obtenir de la primitive.Character
ou une Chaîne de caractères avec un caractère ou quelque chose d'autre entièrement. 😉Je pense que vous avez obtenu une exception parce que vous n'avez pas utiliser une instance de personnage classe wrapper. Si vous utilisez
an instance of the character wrapper class
, alors vous pouvez appeler/utilisation charValue méthode.Le problème que vous rencontrez soit causée par la pile que vous utilisez. La pile est à base d'Objets, il vous permet de pousser char types, mais quand vous pop ou coup d'oeil sur eux, ils sortent comme des types d'Objet. Si vous allez toujours être en poussant des valeurs de type char, vous pouvez changer votre pile de code à accepter un Type Générique comme
<Character>
.Une autre option est de jeter de l'Objet en
(Character)
lorsque vous coup d'oeil ou de la pop en faisant: