设为首页 加入收藏

TOP

以简单的方式消除Java冗余
2014-11-23 17:46:20 】 浏览:9813
Tags:简单 方式 消除 Java 冗余

  Lombok是一种JavaArchive(JAR)文件,可用来消除Java 代码的冗长。通过在开发环境中实现Lombok,开发人员可以节省构建诸如hashCode()和equals()这样的方法以及以往用来分类各种accessor和mutator的大量时间。


  我们看这样一个例子,一个标准的Javabean 。一个典型的Javabean一般具有几个属性。每个属性具有一个accessor和mutator(getter和setter)。通常还会有一个 toString()方法、一个equals()方法和一个hashCode()方法。初看上去,其中可预见的冗余就已经非常多了。如果每个属性都具有一个getter和setter,并且通常如此,那么又何必详细说明呢?


  让我们来看看Lombok。为了消除代码行,Lombok使用注释来标识类和Java代码块。在前述的那个Javabean示例中,所有的getter、setter以及其他三个方法都是在编译时被暗示并包括进来的。


  而且更好的是如果您使用的是Eclipse或IBM WebSphere StudioApplicationDeveloper(如果还没用的话,建议最好使用),您就可以将Lombok集成到Java项目并即刻获得开发时结果。换言之,Eclipse编译器可以立即识别所暗指的 getters/setters,而其他Java代码则可引用这些方法。


  最直接的好处当然是代码行的减少,这真的很棒。并且,如果有一个特定的getter或setter需要特别的注意,那么您就不必为了找到这个特定的getter或setter而遍历数十行代码。代码也会更为简洁并且冗余也少了。


  Lombok还让您得以简化代码的其他部分-不仅仅是Javabean。比如,还可以减少try/catch/finally块内以及同步方法内的冗余代码。现在,我们来看看在您自己的开发环境中如何能实现上述目的。


  安装Lombok


  要进行安装,本文假设您使用的是Eclipse或WebSphereStudioApplicationDeveloper。如果不是,您仍可使用Lombok;但是不能享用开发时的种种益处。不过,您仍然可以享用编译时的益处。首先,打开您的浏览器并将URL指向http://projectlombok.org/。


  在撰写本文之时,用这个URL打开的页面的右上角会出现一个很大的单词。这个单词是“Download”。单击该单词并开始下载lombok.jar。此文件无需解压缩,而从其他站点下载的文件中,99%都需要解压缩。


  下载此文件后,需要执行这个JAR文件。在您的操作系统中打开一个提示符,进入到安装了lombok.jar的那个目录,并键入java- jarlombok.jar。以上假设在您的路径内已经有JavaRuntimeEnvironment(JRE)。如果没有,需要添加它。如果要了解如何添加,可以参考针对您的具体操作系统的相关文档。如果您使用的是Microsoft Windows ,那么还可以双击这个lombok.jar图标。同样地,您必须能够从您的图形用户界面(GUI)执行JAR。


  不管采取何种方式,应该最终都能看到一个Lombok安装屏幕。该屏幕会提问Eclipse或 WebSphereStudioApplicationDeveloper可执行文件位于何处。它的默认位置有可能是正确的。但有时可能需要更改这个默认位置。单击Install/Update,Lombok会被迅速并入Eclipse开发环境。如果已经运行了Eclipse,那么就需要关闭它并重启。


  使用Lombok


  现在,就可以在Eclipse或WebSphereStudioApplicationDeveloper内开始使用Lombok了。请参考清单1内的代码。


  1.清单1.Javabean的一个良好开端


  2.publicclassLure{


  3. privateStringname;


  4. privateintsize;


  5. privateStringcolor;


  6. privateStringstyle;


  7.}


  以上是一个简单的Javabean的典型开始。从这里,可以为每个属性添加getters和setters。然后再添加一个equals()方法、一个toString()方法和一个hashCode()方法。有了Lombok,您无需自己完成上述操作。相反,您只需添加一个注释:@Data。没错,就这么简单。清单2中包括了@Data。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java堆、栈和常量池 下一篇Java基本语法编程练习

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目