温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么简化java代码

发布时间:2022-02-23 14:52:39 来源:亿速云 阅读:137 作者:iii 栏目:开发技术

这篇文章主要介绍“怎么简化java代码”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么简化java代码”文章能帮助大家解决问题。

原理

lombok 可以通过注解的方式,在编译的时候为属性生成构造器、getter/setterequalshashcodetoString方法。这样我们就不用再手动去写这些方法了。

引用

lombok 的使用需要引用 jar 包,可以在官网下载,也可以使用 maven 添加对应依赖。

maven 依赖:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.20</version>
    <scope>provided</scope>
</dependency>

使用

在类上使用@Data注解,会为类的所有属性自动生成setter/getterequalscanEqualhashCodetoString方法(如为final属性,则不会为该属性生成setter方法)。

public class DataExample {
  private final String name;
  private int age;
  private double score;
  private String[] tags;
  
  public DataExample(String name) {this.name = name;}

  public String getName() {return this.name;}
  public void setAge(int age) {this.age = age;}
  public int getAge() {return this.age;}
  public void setScore(double score) {this.score = score;}
  public double getScore() {return this.score;}
  public String[] getTags() {return this.tags;}
  public void setTags(String[] tags) {this.tags = tags;}
}

上面的代码是一个简单的 pojo 类,当我们使用 lombok 之后:

import lombok.AllArgsConstructor;import lombok.Data;import lombok.EqualsAndHashCode;import lombok.NoArgsConstructor;import lombok.ToString;@Data
public class DataExample {
  private final String name;
  private int age;
  private double score;
  private String[] tags;
}

有没有发现?代码量瞬间减少了一半?其实使用@Data生成的代码远不止这些,他还生成了equalscanEqualhashCodetoString的方法,在 IDE 中可以尝试调用一下就能发现了。

@Data注解的目标是生成全部需要自动生成的代码,但是有时候我们并不需要完全自动生成,这时候就可以使用单个的修饰符来注解了。

@Data集合了@ToString@EqualsAndHashCode@Getter/@Setter@RequiredArgsConstructor的所有特性。换言之,这些注解也可以单个使用,接下来以@Getter/@Setter为例来介绍一下上面代码可以化简成什么样子。

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;

public class DataExample {
    @Getter
    private final String name;    @Getter @Setter    private int age;
    @Getter @Setter
    private double score;
    @Getter @Setter    
    private String[] tags;
}

关于“怎么简化java代码”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI