首页 > 其他分享 >lombok到底都用来做什么

lombok到底都用来做什么

时间:2023-12-11 16:57:24浏览次数:23  
标签:构造方法 到底 生成 参数 为空 trycatch lombok 用来

前言:我使用lombok一般都是用在实体类的外面写个@data省得写getsettostring方法,今天详细了解一下关于lombok的有一些实用技巧

 

@Cleanup //用于IO流的关闭,给局部变量的注释,相当于产生了一个trycatch,在finally里判断流是否打开,并进行关闭

@SneakyThrows //会帮你自动注入trycatch,但是记得要写清楚抛的异常,这里我觉得我还是用ctrl alt t生成吧。。

 

@NonNull //用来指定某个方法入参不能为空

 

@Data //等价于使用了tostring,equalsandhashcode,getter,setter,requiredargsconstructor

@Value //将一个类变得不可变,不可继承,类中的属性也不能被修改。类会变成final,使得没有声明访问权限的属性变为私有的,当然属性可以通过@NonFinal标记让其不变成final,会生成和data类似的方法

 

@RequiredArgsConstructor //生成一些必须参数的构造方法,和nonnull配合使用,他只会生成一些必须有参数的构造方法
@AllArgsConstructor //用于生成一个全参的构造方法 @NoArgsConstructor //用于生成一个无参的构造方法
/*
*当使用全参构造方法并且为参数添加了NonNull的注解的时候,会在自动构造参数的同时带上注解,并且在构造函数内也会判断,要求参数不能为空,否则抛出异常
*

 

标签:构造方法,到底,生成,参数,为空,trycatch,lombok,用来
From: https://www.cnblogs.com/kun1790051360/p/17894789.html

相关文章

  • 开发APP应用程序到底是选ios好还是Android好?
    哈喽大家好,我是咕噜老尼,现在我们都知道,APP应用已经覆盖了我们的生活,成为我们生活中不可缺少的一部分,手机系统主要分两种,分别是安卓和ios系统,不少APP开发公司在制作手机APP时,都需要将同一款APP做成两种,分别适应安卓和iOS系统。那么,开发APP应用程序到底是选ios好还是Android好,我们一......
  • 使用new关键字,是用来调用这个对象,并给了一个新名字和内存
    new关键字是用于创建对象的关键字。它会分配内存并初始化对象。当我们使用new关键字创建对象时,会自动调用该对象的构造方法。构造方法可以用于初始化类的属性,并为对象分配内存。例如,以下代码定义了一个Person类:publicclassPerson{   privateStringname;   private......
  • 工程师都喜欢的一款自动生成网格的仿真软件——Hyperworks到底好不好用?
    HyperWorks是一款广泛应用于工程仿真和优化的软件平台,其中包括了许多强大的工具和功能。其中的网格自动生成工具是其重要组成部分之一,对于工程仿真和优化来说具有重要的意义。那么,HyperWorks的网格自动生成工具到底好不好用呢?接下来我们将对此展开讨论。首先,HyperWorks的网格自......
  • Promise 和 Async/Await 到底有啥区别?
    在JavaScript中,promise和async/await是处理异步操作的两种不同方式。但它们是密切相关的。 promise是最终导致异步操作完成或失败的对象。承诺可以处于以下三种状态之一:挂起、已履行或拒绝。异步操作完成后,承诺要么以值实现,要么因错误而被拒绝。 //UsingPromisesfu......
  • Lombok
    概述https://www.pdai.tech/md/develop/package/dev-package-x-lombok.html原理核心之处就是对于annotation的解析;jdk5引入的注解支持,允许在编译时&运行时对元数据进行动态处理:运行时解析:运行时能够解析的注解,必须将@Retention设置为RUNTIME,比如@Rete......
  • N100 N305 怎么选?比N5105、N6005、J4125到底提升多少,一张图片解困扰。
    N100N305怎么选?N100N305怎么选?比N5105、N6005、J4125到底提升多少,一张图片解困扰。本次畅网又推出的NAS主板我们来个参数比较图。 就看那橙色的结果,一目了然。简单的说几点:看下cpu的跑分,那N305、N100当之无愧是佼佼者。再对比价格好像也是那么一回事。从cpu的核显数来......
  • LLM 学习笔记-transformers库的 PreTrainedModel 和 ModelOutput 到底是什么?
    闲言碎语我在刚开始接触huggingface(后简称hf)的transformers库时候感觉很冗杂,比如就模型而言,有PretrainedModel,AutoModel,还有各种ModelForClassification,ModelForCausalLM,AutoModelForPreTraining,AutoModelForCausalLM等等;不仅如此,还设计了多到让人头皮发麻的各......
  • transformer中decoder到底是串行还是并行
    在Transformer中,Decoder部分内部的不同层通常可以并行工作,这意味着每个Decoder层可以同时处理整个序列。比如,在处理Self-Attention时,模型可以同时计算所有位置的注意力权重。但在生成输出序列时,尽管Decoder内部的不同层可以并行工作,模型仍然需要按顺序逐步生成每个词。这是因为Tr......
  • 开发案例分享:万能卡片也能用来玩游戏
     一、前言作为一名开发爱好者,从大了讲,我学习并进行HarmonyOS相关开发是为了能为鸿蒙生态建设尽一份绵薄之力,从小了讲,就是为了自己的兴趣。而万能卡片是一个让我非常感兴趣的东西。很多时候我跟别人解释什么是万能卡片,都会这么说:"万能卡片能实现让你在不用打开app的前提下,在桌......
  • `pd.Timestamp.now()`和`datetime.datetime.now()`都是用来获取当前时间的函数,但它们
    `pd.Timestamp.now()`和`datetime.datetime.now()`都是用来获取当前时间的函数,但它们之间存在一些差异¹²。-`pd.Timestamp.now()`返回的是Pandas的Timestamp对象,这个对象是在UTC(协调世界时)时区下的当前时间¹²。-`datetime.datetime.now()`返回的是Python的datetime对象,这个......