边城愚人

如果我不在边城,我一定是在前往边城的路上。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  31 随笔 :: 0 文章 :: 96 评论 :: 0 Trackbacks
     你可以使用eclipse的重构工具方便的生成javabean的getter和setter方法,但在编写javabean时,你可能不得不手动编写枯燥单调的继承自Object的隐含的常用方法,如toString(),hashcode(),equals(Object),compareTo(Object)。当然也有省力的解决方法,那就是eclipse的插件Commonclipse。Commonclipse使用commons-lang包,自动生成上面的方法。你可以到其网站Commonclipse上下载插件感受一下。下面给出来自于Commonclipse网站的截图:
   

editor.png



explorer.png


      下面的代码是我写的一个简单的javabean及使用Commonclipse生成的代码:

package domain;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.CompareToBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;

public class User implements Comparable {

    
private String name;
    
private String pwd;
    
private long year;
    
private boolean sex;
    
    
public String getName() {
        
return name;
    }

    
public void setName(String name) {
        
this.name = name;
    }

    
public String getPwd() {
        
return pwd;
    }

    
public void setPwd(String pwd) {
        
this.pwd = pwd;
    }

    
public boolean isSex() {
        
return sex;
    }

    
public void setSex(boolean sex) {
        
this.sex = sex;
    }

    
public long getYear() {
        
return year;
    }

    
public void setYear(long year) {
        
this.year = year;
    }

    
/**
     * 
@see java.lang.Object#toString()
     
*/

    
public String toString() {
        
return new ToStringBuilder(this).append("sex"this.sex).append("name",
                
this.name).append("pwd"this.pwd).append("year"this.year)
                .toString();
    }

    
/**
     * 
@see java.lang.Object#hashCode()
     
*/

    
public int hashCode() {
        
return new HashCodeBuilder(-19131432911282699537).appendSuper(
                
super.hashCode()).append(this.sex).append(this.pwd).append(
                
this.name).append(this.year).toHashCode();
    }

    
/**
     * 
@see java.lang.Comparable#compareTo(Object)
     
*/

    
public int compareTo(Object object) {
        User myClass 
= (User) object;
        
return new CompareToBuilder().append(this.sex, myClass.sex).append(
                
this.pwd, myClass.pwd).append(this.name, myClass.name).append(
                
this.year, myClass.year).toComparison();
    }

    
/**
     * 
@see java.lang.Object#equals(Object)
     
*/

    
public boolean equals(Object object) {
        
if (!(object instanceof User)) {
            
return false;
        }

        User rhs 
= (User) object;
        
return new EqualsBuilder().appendSuper(super.equals(object)).append(
                
this.sex, rhs.sex).append(this.pwd, rhs.pwd).append(this.name,
                rhs.name).append(
this.year, rhs.year).isEquals();
    }

    
    
}

posted on 2007-04-22 12:36 kafka0102 阅读(3025) 评论(6)  编辑  收藏 所属分类: Tools

评论

# re: 推荐一个代码生成工具Commonclipse 2007-04-22 13:38 炎凉
看起来不错呀 下个试试看..  回复  更多评论
  

# re: 推荐一个代码生成工具Commonclipse 2007-04-23 08:29 sharajava
如果就这么点功能,看起来用处不大呀。Commonclipse名字挺响亮  回复  更多评论
  

# re: 推荐一个代码生成工具Commonclipse 2007-06-14 00:16 IT进行时
找不到用的理由  回复  更多评论
  

# re: 推荐一个代码生成工具Commonclipse 2008-12-21 16:39 Jemy
确实,功能太有限  回复  更多评论
  

# re: 推荐一个代码生成工具Commonclipse 2009-03-30 21:10 速度vsd
我用了一下。怎么两个不相等的对象他也表示相等的阿
这怎么办啊?  回复  更多评论
  

# re: 推荐一个代码生成工具Commonclipse 2012-03-06 09:14 canca
@速度vsd
汗一个。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: