要求:创建一个方法来比较两个字符串是否相等
下图为楼主自己写的代码 求各位大神指点和改正 提前谢过!

解决方案 »

  1.   

    str1.length
      

  2.   

    str1 = "abcd";
    str2 = "abcde" 也会return true的.
      

  3.   

    先判断两个字符串是否有为null的情况,有null则不相等;
    再判断两个非空的字符串长度是否相等,不等则两个字符串不相等;
    如果两个字符串长度相等,则挨个判断字符是否相等。
      

  4.   

    str2如果是以str1的开头的字符串,则也会相等,应该在for循环之前,先判断长度是否相等
      

  5.   

    public class StringEqualityTest
    {
    public static boolean isEqual(String str1, String str2)
    {
    //输入参数合法性检查
    if (str1 == null || str2 == null)
    {
    return false;
    }

    //检查长度
    if (str1.length() != str2.length())
    {
    return false;
    }

    boolean c = true; //c来表示它们是否相等,先假设它们相等
    for (int i = 0; i < str1.length() && c; i++)
    {
    char a = str1.charAt(i);
    char b = str2.charAt(i);
    if (a != b)
    {
    c = false;
    }
    }

    return c;
    }

    public static void main(String[] args)
    {
    System.out.println(isEqual("abcd", "aEbc"));
    System.out.println(isEqual("abcd", "abcd"));

    }
    }
      

  6.   

    最简单的还是直接使用equals,除非闲得蛋痛
        public static boolean isEquals(String s1, String s2) {
            if (s1 == null || s2 == null)
                return false;
            int len = 0, i = 0;
            if ((len = s1.length()) != s2.length())
                return false;
            while (i < len && s1.charAt(i) == s2.charAt(i++));
            return i == len;
        }
      

  7.   


     public boolean equals(Object anObject) {
            if (this == anObject) {
                return true;
            }
            if (anObject instanceof String) {
                String anotherString = (String) anObject;
                int n = value.length;
                if (n == anotherString.value.length) {
                    char v1[] = value;
                    char v2[] = anotherString.value;
                    int i = 0;
                    while (n-- != 0) {
                        if (v1[i] != v2[i])
                                return false;
                        i++;
                    }
                    return true;
                }
            }
            return false;
        }
    String类重写的equals
      

  8.   

    你得先判断是否为空,length是否相等
      

  9.   

    字符串比较不是有内置的equals方法,直接调用就是了,何必去重写这个东西。
      

  10.   


    String自带了比较的方法你为什么不用
    还是说你有特殊需求
    又或者说你只是单纯的想自己实现一下
      

  11.   

    equals()不好用吗???