是不是字符串是从数据库中取得的啊,有空格。
先v1.trim();试试。我就曾被困扰过好久。

解决方案 »

  1.   

    v1 和 v2不是同一个对象,所以equal返回结果为false;
    如果v1 = v2,而不是v1.i = v2.i,那么返回结果就是true
      

  2.   

    你用的实际是Object类的equal,
    比较的是两个对象的地址,
      

  3.   

    class Value{
      public int i;
      public boolean equals(Object obj){
        if(obj instanceof Value){
          if(((Value)obj).i==i){
            return true;
          }
        }
        return false;
      }
    }public class EqualsMethod2 {
      public static void main(String[] args) {
        Value v1 = new Value();
        Value v2 = new Value();
        v1.i = v2.i = 100;
        System.out.println(v1.equals(v2));
      }
    }
      

  4.   

    要用 equals 比的爽,应该为自己的类实现具体的 equls
      

  5.   

    因为v1和v2分别指向不同的对象~!所以equals()返回false!
      

  6.   

    public boolean equals(Object obj) {
    return (this == obj);
        }
    这是Object.equals()的源码。
      

  7.   

    wux a=new wux();
              wux b=new wux();
              a.i=b.i=100;
              System.out.println(a.i==b.i);
              System.out.println(a);
              System.out.println(b);
              System.out.println(a.equals(b));
      

  8.   

    谁说equals比较内容了,Object的equals是比较地址的!