以简单的方式消除 Java 的冗长
2010-04-13 00:00:00 来源:WEB开发网清单 4. 修改 toString()
@ToString(exclude="color")
public @Data class Lure {
private String name;
private int size;
private String color;
private String style;
}
若输出一个实例化了的 Lure 类,它应该看上去类似于:
Lure(name=Wishy-Washy, size=1, style=trolling)
注意到颜色没有被包括?这是因为您之前用注释告诉过 Lombok 不包括颜色。
您还可以修改 equals() 和 hashCode() 方法该如何被处理。清单 5 很直白,不需要过多解释。
清单 5. 修改 hashCode()
@EqualsAndHashCode(exclude="style")
public @Data class Lure {
private String name;
private int size;
private String color;
private String style;
}
在本例中,当 equals() 和 hashCode() 方法生成时,style 属性并没有被包括。
其他特性
您是不是也一直非常痛恨编写 try/catch/finally 块呢?我是这样的。幸运的是,有了 Lombok,您无需这么做了。这也是 Lombok 消除 Java 冗余的另一种方式。为了消除 try/catch/finally 块的冗余,只需使用 @Cleanup 注释。参见清单 6。
清单 6. 使用 @Cleanup 注释
public static void main(String[] args) throws IOException {
@Cleanup InputStream in = new FileInputStream(args[0]);
@Cleanup OutputStream out = new FileOutputStream(args[1]);
//write file code goes here
}
更多精彩
赞助商链接