【问题标题】:String java startsWith字符串 java 的startsWith
【发布时间】:2012-01-03 12:10:44
【问题描述】:
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 string startswith


【解决方案1】:

这些字符串并不像您想象的那样相同。第一个字符串包含forgotPwd,而第二个字符串包含forgetPwd

【讨论】:

    【解决方案2】:

    因为在第一个字符串中你有 forgotPwd 和第二个 forgetPwd 。区别是oe

    【讨论】:

      【解决方案3】:

      您的 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
      

      【讨论】:

        【解决方案4】:

        案例1很明显。
        案例 2 是错误的,因为 s1 有“忘记”,而 s2 有“忘记”。

        【讨论】:

          【解决方案5】:

          这很自然。仔细看看你的琴弦。

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

          s1 有单词forgotPwd,s2 有forgetPwd。有 1 个字母的差异。

          【讨论】:

            【解决方案6】:

            你在 s2 中有一个错字,上面写着:

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

            它应该说:

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

            【讨论】:

              【解决方案7】:

              也许你可以尝试指定表单的索引

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

              返回真。当然是在检查你的错别字之后。

              【讨论】:

                猜你喜欢
                • 2013-04-09
                • 1970-01-01
                • 2015-11-02
                • 2018-09-09
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多