-
Methode equals de string
Bonjour,
Pour les char, je voulais juste comprendre quand utiliser les doubles quote et les simples quotes.
J'ai appris a mes depens que pour Java, "/" != '/'
En effet, meme si je mets un / en debut de ma String chaine,
chaine.substring(0,1).equals('/') me retourne inlassablement false alors que
chaine.substring(0,1).equals("/") renvoie logiquement un true
Je pensais que pour une (sub)String de 1 caractere, Java ne ferait pas de difficulte dans la comparaison, si?
-
equals compare des object. un String (résultat de substring) ne sera jamais égale à un Character car ce sont des objets de nature différents. Pour la même raison, un Long et un Integer ne seront jamais égaux, un Float et un Double non plus.
'?' c'est un char (qui peut être autoboxé en Character)
"?" c'est une String
Nature et usage différents. Si la méthode attends un char ou un Character => simple quote
Si la méthode attends une String => double quote.
-
Hello,
Et je crois que le plus important c'est qu'est-ce que ça peut te faire, au fond, si Java décide de distinguer String et char alors que c'était pas ta première idée à toi ?
Il suffit d'utiliser charAt() au lieu de substring(), et tu as tout ce qu'il faut sans t'embêter.