一个公共的实体对象基类
来源:互联网 发布:acrobat x pro for mac 编辑:程序博客网 时间:2024/04/30 00:36
标识 id 属性,以及一些公用的方法.具体如下
BaseModel.java
import java.io.Serializable;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
public class BaseModel implements Serializable{
/**
* The Generated SerialVersionUID
*/
private static final long serialVersionUID = 7766184319541530720L;
/**
* The identify of the object
*/
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
/**
* Common implement equals method
*/
public boolean equals( Object obj )
{
if( this==obj ) return true;
if( !( obj instanceof BaseModel ) )
return false;
BaseModel target = (BaseModel)obj;
if( this.getId()!=null && this.getId().length()>0 )
{
return this.getId().equals( target.getId() );
}
if( target.getId()!=null && target.getId().length()>0 )
{
return false;
}
return EqualsBuilder.reflectionEquals(this, obj);
}
/**
* Generate the hash code
*/
public int hashCode()
{
if( this.getId()!=null && this.getId().length()>0 )
{
return this.getId().hashCode();
}
return HashCodeBuilder.reflectionHashCode(this);
}
/**
* Common implement toString method
*/
public String toString()
{
return ReflectionToStringBuilder.toString( this );
}
}
equals()方法,用于判断两个对象是否相等,但并不是在使用"=="进行两个对象是否相等的判断时调用.因为使用"=="所判断的是两个对象的引用是否相等,也可以简单理解为两个实例所引用的是否为内存中的同一个对象.equals()方法可以理解为两个对象在"含义"上是否相等,也就是说这两个对象所表达的意思是否相同.equals()方法在对象保存到集合容器类(Collection)中时被调用.因为集合容器类不允许其中存在两个相同对象实例,其判断的依据就是通过调用该实体对象的equals()方法来进行判断的.
如果修改了equals()方法,就必须修改hashCode()方法.如果不这样的话,就违反java.lang.Object的通用的hashCode的约定,从而导致该类无法与基于散列值的集合类一起正常工作.
toString()方法,用于将当前Java对象的实例转换为可以描述其内容的字符串.这个方法的作用是在程序调试的过程可以方便地得到实体对象中令人感兴趣的信息,有利于更准确及时地发现程序中的问题.
- 一个公共的实体对象基类
- IOS所有对象实体的基类
- 为hibernate新建一个实体对象基类
- 把对象的属性绑定到datalist中,建一个实体类,利用泛型,产生实体对象数组,把实体对象数组赋给datalist.DataSource...................
- 判断一个实体对象是否真的为空
- 实体、对象与类的概念
- 实体类返回对象的改善
- 实体类对象的三种状态
- 实体对象的抽象
- 实体对象的变更
- 我的一个实体操作类
- 编写一个ImageLoder的实体类
- 实体类对象状态
- javabean实体类对象转为Map类型对象的方法
- javabean实体类对象转为Map类型对象的方法
- javabean实体类对象转为Map类型对象的方法
- javabean实体类对象转为Map类型对象的方法
- 自定义一个实体类
- 关于建立最小硬盘版LINUX的问题
- JavaScript学习笔记(1)
- char * 到CcomBSTR类型的转换
- 雜合
- 字符串从char * 转换到CComBSTR
- 一个公共的实体对象基类
- Lean Software Development, Part 3: Build Quality In
- pthread 不错的总结(转自http://blog.chinaunix.net/u1/35045/showart_396435.html)
- 利用GetObject("WinMgmts:")获取系统信息
- 经济分析和理财理念
- 移植vivi
- C 海拾贝(一)
- 百年来国外主要经济金融危机分析
- 信息化故事--温州的传奇(11)从“进城务工”看“温州新版自闭症”