一起Talk Android吧(第五百五十八回:lombok用法)

news2024/11/23 8:09:41

文章目录

  • 1. 概述
  • 2. 使用方法
  • 3. 内容总结

各位看官们大家好,上一回中介绍了如何获取文件读写权限的知识,本章回中将介绍lombok相关的知识。闲话休提,言归正转,让我们一起Talk Android吧!

在这里插入图片描述

1. 概述

这是一个java库,用来简化代码,以注解的方式来生成代码,常用的是生成gettter/setter
我是在javaBean中看到了,主要是非空注解。
Getter和Setter
@Getter和@Setter注释分别为字段生成getter和setter。且@Getter和@Setter注释都采用可选参数来指定生成方法的访问级别。

Nonull
@NonNull注释用于对对应的成员进行快速失败null检查。当放置在Lombok正在为其生成setter方法的字段上时,将生成null检查,如果提供了null值,将导致NullPointerException。此外,如果Lombok正在为所属类生成一个构造函数,那么该字段将被添加到构造函数签名中,null检查将包含在生成的构造函数代码中

@ToString
此注释生成toString方法的实现。默认情况下,任何非静态字段都将以名称-值对的形式包含在方法的输出中。如果需要,可以通过将注释参数includeFieldNames设置为false来抑制输出中属性名的包含。通过在exclude参数中包含它们的字段名,可以将特定字段从生成的方法的输出中排除。或者,参数的作用是只列出输出中需要的字

@Data
@Data注释可能是Lombok工具集中最常用的注释。它结合了@ToString、@EqualsAndHashCode、@Getter和@Setter的功能。从本质上讲,在类上使用@Data与使用默认的@ToString和@EqualsAndHashCode注释类以及使用@Getter和@Setter注释每个字段是一样的。带有@Data的注释类也会触发Lombok构造函数生成。这将添加一个公共构造函数,它接受任何@NonNull或final字段作为参数。这提供了一个普通旧Java对象(POJO)所需的一切。虽然@Data非常有用,但它没有提供与其他Lombok注释相同的控制粒度。为了覆盖默认的方法生成行为,可以使用另一个Lombok注释注释类、字段或方法,并指定必要的参数值以达到预期效果。@Data确实提供了一个参数选项,可用于生成静态工厂方法。将staticConstructor参数的值设置为所需的方法名称,将导致Lombok将生成的构造函数设置为私有,并公开给定名称的静态工厂方法

2. 使用方法

在Gradle中添加依赖:dependencies {
    compileOnly "org.projectlombok:lombok:1.18.32"
}
也可以通过添加插件来使用,
Go to File > Settings > Plugins
Click on Browse repositories...
Search for Lombok Plugin
Click on Install plugin
Restart Android Studio
修改依赖
dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.32'
    annotationProcessor 'org.projectlombok:lombok:1.18.32'
}

其它IDE的用法参考官方文档:https://projectlombok.org/setup/android

3. 内容总结

看官们,关于"lombok用法"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1639171.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[系统安全] 六十.威胁狩猎 (1)APT攻击检测及防御与常见APT组织的攻击案例分析

您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系…

踏上R语言之旅:解锁数据世界的神秘密码(五)

线性与非线性模型及R使用 文章目录 线性与非线性模型及R使用一、数据的分类与模型选择1.变量的取值类型 二、广义线性模型广义线性模型概述Logistic模型 总结 一、数据的分类与模型选择 1.变量的取值类型 因变量记为y,解释变量记为x1,x2,… 因变量y一般…

Coursera: An Introduction to American Law 学习笔记 Week 05: Criminal Law

An Introduction to American Law 本文是 https://www.coursera.org/programs/career-training-for-nevadans-k7yhc/learn/american-law 这门课的学习笔记。 文章目录 An Introduction to American LawInstructors Week 05: Criminal LawKey Criminal Law TermsSupplemental Re…

边沿JK触发器

边沿JK触发器 电路组成 & 逻辑符号 工作原理 Q n 1 D Q^{n1}D Qn1D J Q n ‾ K Q n ‾ \overline{\overline{JQ^n}KQ^n} JQn​KQn​ ( J Q n ) ( K ‾ Q n ‾ ) (JQ^n)(\overline{K}\overline{Q^n}) (JQn)(KQn​) J K ‾ J Q n ‾ K ‾ Q n Q n ‾ Q n J\over…

解救应用启动危机:Spring Boot的FailureAnalyzer机制

目录 一、走进FailureAnalyzer 二、在Spring Boot中如何生效 三、为什么可能需要自定义FailureAnalyzer 四、实现自定义基本步骤 (一)完整步骤要求 (二)注册方式说明 通过Spring Boot的spring.factories文件(建…

Java中的字符流

字符流字节流编码表 Java为什么可以区分字母和汉字 package day3; ​ import java.io.UnsupportedEncodingException; import java.lang.reflect.Array; import java.util.Arrays; ​ public class Test {public static void main(String[] args) throws UnsupportedEncoding…

文件批量高效管理,批量将PDF类型文件移动到指定文件夹里,实现文件高效管理

文件的管理与整理成为了我们生活中不可或缺的一部分。面对堆积如山的PDF文件,你是否也曾感到手足无措、焦头烂额?现在,有了我们的批量文件管理工具,PDF文件的管理将变得前所未有的高效与简单! 首先,我们要…

用龙梦迷你电脑福珑2.0做web服务器

用龙梦迷你电脑福珑2.0上做web服务器是可行的。已将一个网站源码放到该电脑,在局域网里可以访问网站网页。另外通过在同一局域网内的一台windows10电脑上安装花生壳软件,也可以在外网访问该内网服务器网站网页。该电脑的操作系统属于LAMP。在该电脑上安装…

Android 开发部分基础工具使用

c调试 在NDK调试的时候,如果找不到 符号的话,我们可以在调试配置中添加符号地址的全路径一直到根目录:,xxx/armeabi-v7a: You must point the symbol search paths at the obj/local/ directory. This is also not a …

C++奇迹之旅:C++内存管理的机制初篇

文章目录 📝C/C内存分布🌠 C语言中动态内存管理方式🌉C内存管理方式 🌠new/delete操作内置类型🌉C与C链表构建对比 🚩总结 📝C/C内存分布 这是C/C中程序内存区域划分图: 数据段&am…

基于springboot+vue+Mysql的网上商城购物系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

蓝桥杯练习系统(算法训练)ALGO-951 预备爷的悲剧

资源限制 内存限制:512.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 英语预备爷gzp是个逗(tu)比(hao),为了在即将到来的英语的quiz中不挂科,gzp废寝忘食复习英语附录单词…

V23 中的新增功能:LEADTOOLS React Medical Web 查看器

LEADTOOLS (Lead Technology)由Moe Daher and Rich Little创建于1990年,其总部设在北卡罗来纳州夏洛特。LEAD的建立是为了使Daher先生在数码图象与压缩技术领域的发明面向市场。在过去超过30年的发展历程中,LEAD以其在全世界主要国家中占有的市场领导地位…

JUC常见类

背景 JUC是java.util.concurrent的简称,这个包里面存放的都是和多线程相关的类,在面试中非常的重要 目录 1.Callable接口 2.ReentrantLock 3.信号量Semaphore 4.CountDownLatch 5.集合的线程安全问题 1.Callable接口 1.1.认识Callable接口 &#x…

phpstudy 搭建 upload-labs 文件上传靶场

phpstudy 搭建靶场:下载安装好phpstudy后,下载靶场源码: upload-labs下载地址: https://github.com/c0ny1/upload-labs 下载完压缩文件,解压文件,解压后的文件夹命名为upload--labs 将解压后到文件夹放…

爱普生晶振在物联网LoRa通讯中的应用

LoRa 是LPWAN通信技术中的一种,是美国Semtech公司采用和推广的一种基于扩频技术的超远距离无线传输方案。这一方案改变了以往关于传输距离与功耗的折衷考虑方式,为用户提供一种简单的能实现远距离、长电池寿命、大容量的系统,进而扩展传感网络…

频分复用系统设计及其MATLAB实现

引言 随着通信技术的飞速发展,通信系统的容量需求不断增长。频分复用(Frequency Division Multiplexing, FDM)作为一种重要的多路复用技术,被广泛应用于现代通信系统中。本文将介绍频分复用系统的设计原理,并展示如何…

springboot 自动配置源码解读

什么是自动装配 当我们程序依赖第三方功能组件时,不需要手动将这些组件类加载到IOC容器中。例如 当程序需要用到redis时,在pom.xml文件中引入依赖,然后使用依赖注入的方式直接从IOC容器中拿到相应RedisTemplate实例。 SpringBootApplication …

cuda非root用户安装及mamba库安装报错问题

1、先检查是不是cuda版本的问题(cuda≥11.6) 非root用户安装指南: (1)先去NVIDIA官网CUDA Toolkit Archive | NVIDIA Developer 选一个版本 查看architecture的命令 uname -m 查看version的命令 lsb_release -a 下…

探索AIGC技术:创新、挑战与责任

🎥 个人主页:Dikz12📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 #如何看待AIGC技术? 目录 AIGC简单介绍 创新 责任 未来展望和挑战 AIGC简单介绍 A…