当前位置: 首页 > news >正文

重学java 74.Lombok的使用

少点心气,多点干劲

                     —— 24.6.18

一、lombok的安装使用

1.作用:

        简化javabean开发

2.使用:

        a.下插件 ->如果是idea2022不用下载了,自带

        b.导lombok的jar包      安装教程:  http://t.csdnimg.cn/wq9MM

        c.修改设置

二、lombok的介绍

        Lombok通过增加一些“处理程序”,可以让javabean变得简洁、快速。
Lombok能以注解形式来简化java代码,提高开发效率。开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护。
Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、tostring方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。

三、lombok的使用及常用注解

@Getter和@Setter

        作用:生成成员变量的get和set方法。
        写在成员变量上,指对当前成员变量有效。
        写在类上,对所有成员变量有效。
        注意:静态成员变量无效。

@ToString

        作用:生成toString()方法。
        注解只能写在类上。

@NoArgsConstructor 和 @AlArgsConstructor

        @NoArgsConstructor:无参数构造方法
        @AlArgsConstructor:满参数构造方法。
        注解只能写在类上

@EqualsAndHashCode

        作用:生成hashCode()和equals()方法。
        注解只能写在类上。

@Data

        作用:生成get/set,tostring,hashCode,equals,无参构造方法
        注解只能写在类上。

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class Person {private String name;private Integer age;
}
public class Demo303Test01 {public static void main(String[] args) {Person person = new Person();person.setAge(18);person.setName("lcl");System.out.println(person.getName()+"..."+person.getAge());Person p1 = new Person("小明", 28);System.out.println(p1.getName()+"..."+p1.getAge());}
}

相关文章:

重学java 74.Lombok的使用

少点心气,多点干劲 —— 24.6.18 一、lombok的安装使用 1.作用: 简化javabean开发 2.使用: a.下插件 ->如果是idea2022不用下载了,自带 b.导lombok的jar包 安装教程: http://t.csdnimg.cn/wq9MM c.修改设置 二、lombok的介绍 Lombok通过增加一…...

数据结构6---树

一、定义 树(Tree)是n(n>0)个结点的有限集。当n0时成为空树,在任意一棵非空树中: 1、有且仅有一个特定的称为根(Root)的结点; 2、当n>1时,其余结点可分为m(m>日)个互不相交的有限集T1、T2、...、 Tm,其中每一个集合本身又是一棵树,并且称为根的…...

一键制作,打造高质量的数字刊物

随着数字化时代的到来,数字刊物已经成为信息传播的重要载体。它以便捷、环保、互动性强等特点,受到了越来越多人的青睐。然而,如何快速、高效地制作出高质量的数字刊物,成为许多创作者面临的难题。今天,教大家一个制作…...

Java面试题:对比继承Thread类和实现Runnable接口两种创建线程的方法,以及它们的优缺点

Java 中创建线程有两种主要的方法:继承 Thread 类和实现 Runnable 接口。下面我将分别介绍这两种方法,并对比它们的优缺点。 继承 Thread 类 方法: 创建一个继承自 Thread 的子类。重写 Thread 类的 run 方法。创建子类的实例并调用 start…...

编译原理-各章典型题型+思路求解

第2章文法和语言习题 基础知识: 思路: 基础知识: 思路: 基础知识: 编译原理之 短语&直接短语&句柄 定义与区分_编译原理短语,直接短语,句柄-CSDN博客 思路: 题目: 基础解释&#xff1a…...

【绝对有用】C++ vector排序

在 C 中&#xff0c;有多种方法可以对向量&#xff08;即 std::vector&#xff09;进行排序。最常用的方法是使用标准库中的 std::sort 函数。以下是一些例子&#xff1a; 使用 std::sort 函数 std::sort 函数是标准库 <algorithm> 中的一个函数&#xff0c;可以对向量…...

linux——VScode安装

方法一&#xff1a;使用snap一键安装 Snap Store 是 Ubuntu、Debian、Fedora 和其他几个 Linux 发行版中的一个应用商店&#xff0c;提供了数千个应用程序和工具的安装。Snap Store 使用 Snap 包格式&#xff0c;这是一种通用的 Linux 软件包格式&#xff0c;使得在不同的 Lin…...

X-LoRA:高效微调 LoRA 系列,实现不同领域知识专家混合模型

&#x1f4dc; 文献卡 X-LoRA: Mixture of Low-Rank Adapter Experts, a Flexible Framework for Large Language Models with Applications in Protein Mechanics and Molecular Design作者: Eric L. Buehler; Markus J. BuehlerDOI: 10.48550/arXiv.2402.07148摘要:We report…...

基于卷积神经网络的目标检测

卷积神经网络基础知识 1.什么是filter 通常一个6x6的灰度图像&#xff0c;构造一个3*3的矩阵&#xff0c;在卷积神经网络中称之为filter,对&#xff16;x6的图像进行卷积运算。 2.什么是padding 假设输出图像大小为nn与过滤器大小为ff&#xff0c;输出图像大小则为(n−f1)∗(…...

Mysqld数据库管理

一.Mysqld数据库类型 常用的数据类型 int 整型 无符号[0-4294967296&#xff08;2的32次方&#xff09;-1]&#xff0c;有符号[-2147483648&#xff08;2的31次方&#xff09;-2147483647]float单精度浮点 4字节32位double双精度浮点 8字节64位char固定长度的字符类型…...

Wifi通信协议:WEP,WPA,WPA2,WPA3,WPS

前言 无线安全性是保护互联网安全的重要因素。连接到安全性低的无线网络可能会带来安全风险&#xff0c;包括数据泄露、账号被盗以及恶意软件的安装。因此&#xff0c;利用合适的Wi-Fi安全措施是非常重要的&#xff0c;了解WEP、WPA、WPA2和WPA3等各种无线加密标准的区别也是至…...

开源【汇总】

开源【汇总】 前言版权推荐开源【汇总】最后 前言 先占个位 2024-6-21 21:29:33 以下内容源自《【创作模板】》 仅供学习交流使用 版权 禁止其他平台发布时删除以下此话 本文首次发布于CSDN平台 作者是CSDN日星月云 博客主页是https://jsss-1.blog.csdn.net 禁止其他平台发…...

英文字母表

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 namespace 英文字母表 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){foreach (var item in panel1.Controls){if (item ! null)…...

Redis缓存穿透

缓存穿透&#xff1a; 查询一个不存在的数据&#xff0c;mysql查询不到数据也不会直接写入缓存&#xff0c;就会导致每次请求都查数据库。 方法一&#xff1a; 方法二&#xff1a; 布隆过滤器&#xff1a; 简单来说就是一个二进制数组&#xff0c;用0和1来判断数组中是否存在…...

SHELL脚本学习(十一)正则表达式

一、锚点字符 1.1 锚点行首 脱字符(^)指出行首位置 $ cat < file1 test line1 test line2 test line3 line4 test#打印所有包括文本 test的行 $ sed -n /test/p file1 test line1 test line2 test line3 line4 test#打印所有以test为首的行 $ sed -n /^test/p file1 test…...

Leetcode Java学习记录——代码随想录哈希表篇

文章目录 哈希表几种哈希实现 Java数组HashSetmap方法charAt()toCharArray()for 遍历长度 哈希表 当需要快速判断一个元素是否出现在集合里的时候&#xff0c;就要用到哈希表。 无限循环就意味着重复出现。 几种哈希实现 数组&#xff1a;大小固定set&#xff1a;只存keymap…...

我又挖到宝了!小米、352、希喂宠物空气净化器除毛能力PK

养宠家庭常常因为猫咪们掉毛的问题烦恼。无论是短毛猫还是长毛猫&#xff0c;它们的毛发总是无处不在&#xff0c;从沙发到地毯&#xff0c;从床铺到衣物&#xff0c;甚至飘散在空气中。其中最难清理的就是飘浮在空气中的浮毛&#xff0c;最让人担心的是&#xff0c;空气中的浮…...

每月 GitHub 探索|10 款引领科技趋势的开源项目

1.IT-Tools 仓库名称&#xff1a; CorentinTh/it-tools 截止发稿星数: 16842 (近一个月新增:5744) 仓库语言: Vue 仓库开源协议&#xff1a; GNU General Public License v3.0 引言 CorentinTh/it-tools 是一个开源项目&#xff0c;提供各种对开发者友好的在线工具&#xff0…...

【如何让新增的Android.mk参与编译】

步骤1&#xff1a; 你需要在你新增的Android.mk目录以上的位置找一个已有的Android.mk 步骤2&#xff1a; 在原本已有的Android.mk中加入&#xff1a; //这是你新增的Android.mk文件的路径 include $(LOCAL_PATH)/xxx/xxx/Android.mk如果有些多可以这样写 //dir1 dir2是你新…...

【windows|009】计算机网络基础知识

&#x1f341;博主简介&#xff1a; &#x1f3c5;云计算领域优质创作者 &#x1f3c5;2022年CSDN新星计划python赛道第一名 &#x1f3c5;2022年CSDN原力计划优质作者 ​ &#x1f3c5;阿里云ACE认证高级工程师 ​ &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社…...

个人自动化技能库构建指南:从Python脚本到Cron定时任务

1. 项目概述&#xff1a;一个为“摸鱼”场景设计的自动化技能库最近在GitHub上看到一个挺有意思的项目&#xff0c;叫my-copaw-skill。光看这个名字&#xff0c;就透着一股子“打工人”的幽默感——“copaw”这个词&#xff0c;我琢磨着应该是“copilot”&#xff08;副驾驶/助…...

Speechless:三步完成微博PDF备份的终极免费Chrome扩展

Speechless&#xff1a;三步完成微博PDF备份的终极免费Chrome扩展 【免费下载链接】Speechless 把新浪微博的内容&#xff0c;导出成 PDF 文件进行备份的 Chrome Extension。 项目地址: https://gitcode.com/gh_mirrors/sp/Speechless 在数字时代&#xff0c;我们的社交…...

保姆级教程:在CentOS 7/8服务器上部署DrissionPage爬虫(含Chrome无头模式配置)

CentOS服务器上DrissionPage爬虫的工业级部署指南 1. 环境准备与Chrome浏览器安装 在CentOS服务器上部署基于DrissionPage的爬虫系统&#xff0c;首要任务是构建稳定可靠的浏览器运行环境。与个人开发环境不同&#xff0c;生产服务器通常需要面对无图形界面、资源受限等特殊场景…...

Arm Neoverse CMN-700互连架构与协议寄存器配置指南

1. Arm Neoverse CMN-700一致性互连架构解析在现代多核处理器设计中&#xff0c;一致性互连网络如同城市交通系统般重要。Arm Neoverse CMN-700作为第二代Coherent Mesh Network解决方案&#xff0c;其架构设计充分考虑了数据中心和边缘计算的严苛需求。与传统的总线或环形拓扑…...

从SD卡初始化到读写文件:一个完整嵌入式项目中的SDIO驱动避坑实践

从SD卡初始化到读写文件&#xff1a;嵌入式SDIO驱动实战全解析 在嵌入式系统开发中&#xff0c;SD卡因其高容量、低成本和便携性成为数据存储的首选方案。然而&#xff0c;看似简单的SD卡接口背后隐藏着复杂的初始化协议和时序要求。许多工程师在项目初期都会遇到SD卡无法识别、…...

仅限菲律宾本地团队使用的ElevenLabs隐藏功能:Tagalog重音标记语法(`[ˈba.ka]`)、连读规则注入与敬语语调开关(内测白名单已开放)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs菲律宾文语音能力的本地化演进背景 菲律宾语&#xff08;Filipino&#xff09;作为以他加禄语&#xff08;Tagalog&#xff09;为基础的国家官方语言&#xff0c;拥有约1.05亿母语及第二语言…...

轻量级配置管理框架zcf:多环境配置、敏感信息加密与云原生集成实践

1. 项目概述&#xff1a;一个面向开发者的轻量级配置管理框架最近在梳理团队内部工具链时&#xff0c;发现一个挺普遍的问题&#xff1a;不同项目、不同环境&#xff08;开发、测试、生产&#xff09;的配置管理总是乱糟糟的。.env文件满天飞&#xff0c;敏感信息一不小心就提交…...

开源婚礼技能库:用项目管理思维破解备婚焦虑,打造个性化高性价比婚礼

1. 项目概述&#xff1a;婚礼技能库的诞生与价值最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“awesome-wedding-skills”。光看名字&#xff0c;你可能会觉得这又是一个普通的“awesome”系列资源列表&#xff0c;无非是收集一些婚礼策划、摄影、化妆的链接。但当我点…...

基于Go的轻量级自托管IM系统OpenWhisp部署与架构解析

1. 项目概述&#xff1a;一个开源的即时通讯解决方案最近在折腾一个内部协作工具&#xff0c;需要集成一个轻量级的即时通讯模块。市面上成熟的方案不少&#xff0c;但要么是SaaS服务&#xff0c;数据不在自己手里&#xff0c;心里不踏实&#xff1b;要么是像Rocket.Chat、Matt…...

开源UI组件库深度解析:从设计系统到工程实践

1. 项目概述&#xff1a;一个开源UI组件库的诞生与价值如果你是一名前端开发者&#xff0c;或者正在负责一个需要快速搭建现代化界面的项目&#xff0c;那么你大概率听说过或者用过一些知名的UI组件库。今天我想深入聊聊一个在GitHub上拥有超过1.5万星标&#xff0c;被许多开发…...