泛型如何来对比?
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
比如:
public boolean equals(myClass mc) {
boolean flg = false;
if (mc.getA() != this.getA()) {
flg = true;
}
if (mc.getB() != this.getB()) {
flg = true;
}
……
return flg;
}
* 比较两个对象是否相等(深层比较)
* @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;
}
* 比较两个对象是否相等(深层比较)
* @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;
}