JavaのStringクラスのequalsメソッドについて

Java

1public boolean equals(Object anObject) {2 if (this == anObject) {3 return true;4 }5 if (anObject instanceof String) {6 String anotherString = (String)anObject;7 int n = value.length;8 if (n == anotherString.value.length) {9 char v1[] = value;10 char v2[] = anotherString.value;11 int i = 0;12 while (n-- != 0) {13 if (v1[i] != v2[i])14 return false;15 i++;16 }17 return true;18 } 19 }20 return false;21 }22```### 実現したいこと 23文字列同士の比較を行いたい 24### 前提 25 26Stringクラスのequalsメソッドは、文字列同士の値を比較し、同じ文字かどうかを確認するメソッドですが、 27上記のコードでは最後の文字同士の比較ができないのではないかと思ってしまいます。 28例えばwhile文のnが5でiが0の場合、5回目のループでnが0となりwhile文を抜けるため、v1[4] と v2[4]の比較ができないと思います。この場合、文字列同士の最後の文字の比較は無視されるのでしょうか? 29よろしくお願いいたします。

コメントを投稿

0 コメント