WEB开发网
开发学院软件开发Java 在 Eclipse Galileo 中更快地编写 Java 代码 阅读

在 Eclipse Galileo 中更快地编写 Java 代码

 2009-09-07 00:00:00 来源:WEB开发网   
核心提示: 即使所有属性值设置为相同的值,代码执行时也会输出 Auto 1 and 2 are equal(): false,在 Eclipse Galileo 中更快地编写 Java 代码(7),要改变这种行为,单击 Source > Generate hashCode() and equals()

即使所有属性值设置为相同的值,代码执行时也会输出 Auto 1 and 2 are equal(): false。

要改变这种行为,单击 Source > Generate hashCode() and equals() 以生成 equals() 方法的一个新版本,新的方法将比较所有字段,如下所示。

清单 13. 用新的 equals() 方法比较所有字段

   
  @Override 
  public int hashCode() { 
    // snipped... 
  } 
 
  @Override 
  public boolean equals(Object obj) { 
    if (this == obj) 
      return true; 
    if (obj == null) 
      return false; 
    if (getClass() != obj.getClass()) 
      return false; 
    Automobile other = (Automobile) obj; 
    if (make == null) { 
      if (other.make != null) 
        return false; 
    } else if (!make.equals(other.make)) 
      return false; 
    if (model == null) { 
      if (other.model != null) 
        return false; 
    } else if (!model.equals(other.model)) 
      return false; 
    if (!Arrays.equals(options, other.options)) 
      return false; 
    if (year == null) { 
      if (other.year != null) 
        return false; 
    } else if (!year.equals(other.year)) 
      return false; 
    return true; 
  } 

现在,执行这段代码时,这两个对象使用覆盖后的 equals() 方法进行比较,所以二者是相同的。

Eclipse Galileo 中的另一个新特性是为 if 语句生成代码块的能力。如果您还没有将 Source > Clean Up 配置为将单行 if 语句转换为代码块,这个新特性很有用。避免使用单行 if 语句通常被认为是最佳实践,因此许多人愿意确保他们的代码遵守这个最佳实践。

结束语

Galileo 中生成 toString() 方法的新特性增强了 Eclipse 生成大量 Java 代码的能力。通过实践,您可以明确哪些代码必须手工输入,哪些代码可以自动生成,从而减少您的工作量。

上一页  2 3 4 5 6 7 

Tags:Eclipse Galileo 更快

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接