快速业务通道

以简单的方式消除 Java 的冗长 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
t;) public @Data class Lure {   private String name;   private int size;   private String color;   private String style; }

在本例中,当 equals() 和 hashCode() 方法生成时,style 属性并没有被包括。

以简单的方式消除 Java 的冗长(4)

时间:2011-04-30 IBM Brian M. Carey

其他特性

您是不是也一直非常痛恨编写 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 }

上述代码较我们通常在标准 Java 代码内看到的整洁了很多。请注意您还是需要抛出由被 调用代码捕获的异常(在本例中,为 IOException)。

清单 6 中的这个代码块不仅消除了 try/catch/finally 块,而且还关闭了开放流。如果 您处理的对象使用一个方法而不是 close() 来释放资源,那么就需要用一个带附加说明的注 释调用该方法。比如,@Cleanup("relinquish")。

Lombok 还可以减少同步方法所需的代码的冗余。很自然,这是用 @Synchronized 方法实 现的。

清单 7. 使用 @Synchronized 注释

@Synchronized private int foo() {   //some magic done here   return 1; }

在本例中,Lombok 会自动创建一个名为 $lock 的实例对象,并会针对该对象同步方法 foo()。

如果用 @Synchronized 注释的这个方法是静态的,那么 Lombok 就会创建一个名为 $LOCK 的类对象,并会针对该对象同步这个方法。

您还可以指定一个对象用以通过一个附加参数进行显式的锁定。比如,@Synchronized ("myObject") 会针对对象 myObject 同步这个方法。在这种情况下,必须显式地定义它。

结束语

使用 Lombok,可以实现所有应用程序开发人员都竭尽全力实现的一个目标:消除冗余。

您还可以让您的代码可读性更好。在 Java bean 内寻找 “特殊”(即不遵循典型的标准 )的具有大量属性的 getter 和 setter 方法将更为简便。这是因为只有这些特殊的 getter/setter 方法是需要被实际编码的。

Lombok 有助于代码的整洁、效率的提高以及冗余的减少。为何不在您自己的环境内尝试 一下呢?

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号