泛型如何来对比?
List<myClass> a=new List<myClass>();
List<myClass> a2=new List<myClass>();class myClass{
private String a;
private String b;
private String c;
private boolean e;
}
我想深层比较a和a2 他们都是myclass泛型 myclass里又有很多属性。。
我想深层比较泛型a 和泛型a2下各个属性是否相同,如果有不同 返回true 或false
List<myClass> a=new List<myClass>();
List<myClass> a2=new List<myClass>();class myClass{
private String a;
private String b;
private String c;
private boolean e;
}
我想深层比较a和a2 他们都是myclass泛型 myclass里又有很多属性。。
我想深层比较泛型a 和泛型a2下各个属性是否相同,如果有不同 返回true 或false
然后对两个list进行排序,然后一对一比较当然可以先比较a和a2的长度是否一样,不一样直接返回false即可
* 比较两个对象是否相等(深层比较)
* @return true;相等;false;不相等
*/
public boolean equals(Object otherobj)
{
//检查otherobj 是否为空
if(otherobj == null) return false;
//检查otherobj 是否就是当前对象
if(otherobj == this) return true; //检查otherobj 是否具有正确的类型, 即检查是否可与当前对象比较
if(!(otherobj instanceof Field)) return false; //将otherobj 转换为Field 类的对象引用
Field tmpObj = (Field)otherobj;
//
if( this.F_name.equals(tmpObj.F_name)
&& this.F_type.equals(tmpObj.F_type)
&& this.F_length.equals(tmpObj.F_length)
)
{
return true;
}
return false;
}
/**
* 比较两个表对象是否相等
* @param table:从数据库中取回的表对象
* @return true:相等;false:不相等
*/
public boolean comparison(Table table)
{
//比较两个表的字段个数是否相等
if(this.Fieldslist.size()!=table.Fieldslist.size()) return false;
for(int i=0;i<this.Fieldslist.size();i++)
{
if(!this.Fieldslist.get .equals(table.Fieldslist.get ))
{
return false;
}
}
return true;
}