J'ai la chaîne "22"
et j'obtiens 3 comme longueur;Java: obtenir string.length incorrect() après avoir utilisé trim()
J'utilisé .trim()
Ce qui pourrait être une autre raison?
J'ai la chaîne "22"
et j'obtiens 3 comme longueur;Java: obtenir string.length incorrect() après avoir utilisé trim()
J'utilisé .trim()
Ce qui pourrait être une autre raison?
Vous devriez nous donnez le code qui illustre le problème, mais je pense que tu as fait quelque chose comme ceci:
String str = "22 ";
str.trim();
System.out.println(str.length());
Mais str.trim()
ne change pas str
(comme des chaînes sont immuables). Au lieu de cela, il renvoie une nouvelle chaîne tronquée. Donc, vous avez besoin de quelque chose comme ceci:
String str = "22 ";
str = str.trim();
System.out.println(str.length());
yup thats it, wow vous les gars sont rapides O_o – Jan
5 minutes de temps de réponse?!?! Allez les gars, on peut faire mieux que ça ...;) –
Essayez ceci:
System.out.println(java.util.Arrays.toString(theString.toCharArray()));
Cette dumps la version char[]
du String
, donc on peut peut-être voir si elle contient quelque chose de drôle.
+1 C'est un bon outil de diagnostic même s'il n'était pas nécessaire cette fois-ci. –
N'avait même pas le même problème est OP mais cela a vraiment aidé à comprendre que la chaîne utilisait des codes d'échappement ANSI. +1 –
depuis que je trouve une raison tout en formulant la question, im va me répondre ..
Si la chaîne a été créé par .Substring ou fendu, la chaîne entière est enregistrée plus la position et la longueur de la sous-chaîne.
ce apparemment cant être coupé (était « 22 »)
'longueur()' ne retourne pas la longueur du tableau de sauvegarde, et il devrait pouvoir être rogné. Vois ma réponse. –
faux, il peut, voir la réponse ci-dessus – Jan
Vous devez nous montrer votre code, car comme indiqué, il est impossible. – CPerkins