allargsconstructor_constructor java

allargsconstructor_constructor java接触Lombok@NoArgsConstructor,@RequiredArgsConstructor,@AllArgsContructor。是Lombok插件三种生成不同构造方法的注解,来完成项目中不同构造方法的需求。@NoArgsConstructor:生成一个无参数的构造方法@AllArgsContructor:?会生成一个包含所有变量@RequiredArgsCon…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

接触Lombok

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor。是Lombok插件三种生成不同构造方法的注解,来完成项目中不同构造方法的需求。

  • @NoArgsConstructor : 生成一个无参数的构造方法
  • @AllArgsContructor: ?会生成一个包含所有变量
  • @RequiredArgsConstructor: 会生成一个包含常量,和标识了NotNull的变量的构造方法。生成的构造方法是私有的private。
  • 主要使用前两个注解,这样就不需要自己写构造方法,代码简洁规范。

看Lombok注解的全貌

Lombok是一个通过注解形式帮助构造简洁、规范的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。
下载地址:
github地址:https://github.com/rzwitserloot/lombok
官方地址:https://projectlombok.org/。
官方API : https://projectlombok.org/features/all

在IDEA中使用它的过程

  • 安装
    这里写图片描述

  • Maven项目引入lombok的jar

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.14</version>
</dependency>

常用注解介绍

  • @Getter and @Setter
    可以用@Getter / @Setter注释字段(也可以注释到类上的—(在实体类中常用且推荐)),lombok会自动生成默认的Getter/Setter方法。

  • @ToString
    自动生成toString()方法,默认情况,按顺序(以“,”分隔)打印你的类名称以及每个字段。也可以设置不包含哪些字段/@ToString(exclude = {“id”,“name”})

import lombok.ToString;
@ToString(exclude = {"id","name"})
public class User {
  private Integer id;
  private String name;
  private String phone;
}
实际生成的toString()方法
public String toString(){
  return "User(phone=" + phone + ")";
}

  • @Synchronized
    给方法加上同步锁,建议直接写在代码中Synchronized

参考文章 链接:https://www.jianshu.com/p/365ea41b357 作者:缓慢移动的蜗牛 來源:简书

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196017.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 欧式距离计算公式

    欧式距离计算公式欧式距离也称欧几里得距离,是最常见的距离度量,衡量的是多维空间中两个点之间的绝对距离。也可以理解为:m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离下面是具体的计算公式…

    2022年6月19日
  • laravel-事件监听-核心解读「建议收藏」

    laravel-事件监听-核心解读「建议收藏」laravel-事件监听-核心解读

    2022年4月24日
  • date和calendar_Calendar类

    date和calendar_Calendar类时间和日期处理 在程序中,某个固定的时间代表的都是一个时间点,也就是一个时间的瞬间,例如2009年3月8日15点50分0秒,在实际的应用中,经常需要对于两个时间进行比较或计算时间之间的差值,这些功能在Java语言中都可以很方便的实现。 在Java语言中,时间的表达单位是毫秒。也就是说,Java语言中的时间处理可以精确到毫秒。 在Java语言中,表达时间的方式有两种: a、绝

    2022年9月23日
  • spring boot 过滤器_拦截器和过滤器的区别面试

    spring boot 过滤器_拦截器和过滤器的区别面试原文地址:https://www.tsanyang.top/share-detail/739784336139616256.html最近实现一个权限控制功能,想通过拦截器进行实现,当业务一切按预期一样完成,有一个特别控制需要再拦截器对参数进行解析使用,但是发现当我们再拦截器读取了输入流,再控制器是无法获取到参数的,这个是由于输入流只能被读取一次,然后通过问题搜索了一把,看见网上通过重写HttpServletRequestWrapper实现输入流读取后,再写入回去,这样解决控制器无法获取参数问题,故在此做记

    2022年8月23日
  • JVM成长之路,记录一次内存溢出导致频繁FGC的问题排查及解决「建议收藏」

    JVM成长之路,记录一次内存溢出导致频繁FGC的问题排查及解决「建议收藏」现象:现象截图:内存:命令:jmap-heap30069GC截图:FGC次数19529次!!!何等的恐怖!!!!!命令:jstat-gcutil300691000现象描述:Node模块启动后收到请求却未能响应。一直在频繁的FGC。新生代内

    2022年6月19日
  • 软件测试基础知识——全[通俗易懂]

    软件测试基础知识——全[通俗易懂]目录1、请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试。2、请你回答一下单元测试、集成测试、系统测试、验收测试、回归测试这几步中最重要的是哪一步?3、请回答集成测试和系统测试的区别,以及它们的应用场景主要是什么?4请问测试开发需要哪些知识?需要具备什么能力?5、请说一说黑盒与白盒的测试方法。6、请说一下手动测试与自动化测试的优缺点。7、请问你怎么看待软件测试的潜力和挑战。8、你觉得软件测试的核心竞争力是什么?9、你觉得测试和开发需要怎么结合才能使软件的质量得到更好的保障?10、你觉得

    2022年6月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号