Строка Java начинается с - PullRequest
       5

Строка Java начинается с

0 голосов
/ 03 января 2012
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.Есть объяснения?

Ответы [ 7 ]

4 голосов
/ 03 января 2012

Строки не так идентичны, как вы думаете.Первая строка содержит forgotPwd, а вторая содержит forgetPwd.

2 голосов
/ 03 января 2012

потому что в первой строке у вас есть forgotPwd, а во второй forgetPwd. Разница составляет o и e

1 голос
/ 03 января 2012

У вас есть опечатка в s2 , в которой написано:

String s2 = "/ program / rest / user / ForgotPwd / test";

и он должен сказать:

String s2 = "/ program / rest / user / ForgotPwd / test";

1 голос
/ 03 января 2012

Это естественно. Посмотрите поближе на свои строки.

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

s1 имеет слово forgotPwd, s2 имеет forgetPwd. Разница в 1 букву.

1 голос
/ 03 января 2012

случай 1 очевиден.
случай 2 ложен, потому что s1 «забыл», а s2 «забыл».

1 голос
/ 03 января 2012

Ваш 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
0 голосов
/ 03 января 2012

Может быть, вы могли бы попытаться указать индекс в форме

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

, который возвращает истину. После проверки ваших опечаток, конечно.

...