equals是比较两个对象的内容,也就是判断this.m_ID内容是否与""相同,
估计是和==有些混淆把
remember:equals是比较内容,而==比较地址

解决方案 »

  1.   

    if (!this.m_ID.equals(""))-->this是当前对象, m_ID.equals("")是字符串m_ID与""比较返回true或者false,整个意思就是当前对象的m_ID属性不等于空就执行if下的{}
      

  2.   

    equals是object中的方法,而且java中所有的类都是从object继承而来的,有很多类都重载了这个方法Object的equals方法:如下 ,比较的是地址
     public boolean equals(Object obj) {
    return (this == obj);
        }
    Integer 的equals方法 :如下:比较的是value
     public boolean equals(Object obj) {
    if (obj instanceof Integer) {
        return value == ((Integer)obj).intValue();
    }
    return false;
      }
    String 的equals方法
    public boolean equals(Object anObject) {
    if (this == anObject) {
        return true;
    }
    if (anObject instanceof String) {
        String anotherString = (String)anObject;
        int n = count;
        if (n == anotherString.count) {
    char v1[] = value;
    char v2[] = anotherString.value;
    int i = offset;
    int j = anotherString.offset;
    while (n-- != 0) {
        if (v1[i++] != v2[j++])
    return false;
    }
    return true;
        }
    }
    return false;
        }