2012-01-03 6 views
-3
public class Test { 

    public static void main(String[] args) throws Exception { 


     String s1 = "/program/rest/user/forgotPwd/"; 
     String s2 = "/program/rest/user/forgetPwd/test"; 
     System.out.println(s1.startsWith(s2)); 
     System.out.println(s2.startsWith(s1)); 
    } 
} 

どちらの場合も、印刷falseです。説明は?文字列java startsWith

+4

forgotPwd <-> forgetPwd –

+2

forg'o'tPwd forg'e'tPwd – A4L

+1

対である次回はよく見るしてください... – m0skit0

答えて

4

文字列があなたと同じではありません。最初の文字列にはforgotPwdが含まれ、2番目の文字列にはforgetPwdが含まれています。

+0

ありがとう、私はちょうど見た:) – shaILU

1

あなたのs1はs2の一部ではありません。 forgotPwd

これを確認してください。

String s1 = "/program/rest/user/forgotPwd/"; 
String s2 = "/program/rest/user/forgotPwd/test"; 
System.out.println(s1.startsWith(s2)); 
System.out.println(s2.startsWith(s1)); 

出力:

false 
true 
1

ケース1は明らかです。
s1が "忘れて" s2が "忘れる"ため、ケース2は偽です。

-1

たぶん、あなたはtrueを返し、フォーム

 "Foobar".startsWith("bar", 3) 

のインデックスを指定してみてください可能性があります。もちろん、あなたのタイプミスをチェックした後。

1

これは当然です。あなたの弦をもっと見てください。

String s1 = "/program/rest/user/forgotPwd/"; 
String s2 = "/program/rest/user/forgetPwd/test"; 

s1がs2がforgetPwdを持って、単語forgotPwdを持っています。 1文字の違いがあります。

1

あなたはS2にタイプミスがあり、それは言う:

文字列s2 = "/ forgetPwd /テスト/プログラム/休憩/ユーザー";

、それは言う必要があります:

文字列s2 = "/プログラム/休憩/ユーザー/ forgotPwd /テスト";

2

です.1文字目にはforgotPwd、2番目にはforgetPwdであるためです。違いは、誰もが正しい答えを与えているので、あなたはすべての答えをvoteupすべきoe