Lombok基础使用

Lombok是什么

Lombok是java中的一个库,它可以帮助我们减少重复代码的编写,比如getter/setter/toString,我们只需使用一个注解就可以让类拥有getter/setter等方法,提高开发效率

  • 官网介绍

Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more

在IDEA中使用Lombok

安装插件

在IDEA中使用Lombok需要安装插件,否则使用lombok会报错
打开IDEA的Setting –> 选择Plugins选项 –> 选择Browse repositories –> 搜索lombok –> 点击安装 –> 安装完成重启IDEA –> 安装成功
在这里插入图片描述

引入依赖

在pom.xml文件中添加如下依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.2</version>
    <scope>provided</scope>
</dependency>
使用

在对应的类上添加相关注解即可

@Getter // 生成所有getter
@Setter // 生成所有setter
@AllArgsConstructor // 生成所有参数的构造器
@NoArgsConstructor // 生成无参构造器
@ToString // 生成toString方法
public class Cart {
    private Integer id;

    private Integer userId;

    private Integer productId;

    private Integer quantity;

    private Integer checked;

    private Date createTime;

    private Date updateTime;
}

  • 效果
    在这里插入图片描述
Lombok常用注解

@Getter: 生成所有getter
@Setter: 生成所有setter
@AllArgsConstructor: 生成所有参数的构造器
@NoArgsConstructor: 生成无参构造器
@ToString: 生成toString方法
@EqualsAndHashCode: 生成equals和hashcode方法
@Data: 生成getter、setter、equals、hashCode、toString方法

@ToString@EqualsAndHashCode有两个重要的参数: ofexcludeof表示之包含哪些字段,exclude表示排除哪些字段

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString(exclude = "userId") // 生成ToString方法是不要exclude
@EqualsAndHashCode(of = "quantity") // 使用quantity字段片段两个对象是否一致
public class Cart {
    private Integer id;

    private Integer userId;

    private Integer productId;

    private Integer quantity;

    private Integer checked;

    private Date createTime;

    private Date updateTime;
}

### 关于Cursor限制 在编程环境中,特别是在低级语言如汇编语言中,cursor的位置控制是非常重要的。对于某些特定的应用场景,比如开发图形用户界面(GUI)应用程序或是嵌入式系统中的显示管理,精确地设置和移动光标的逻辑位置是必要的功能之一。当涉及到终端仿真器或命令行接口时,可以通过转义序列来改变光标的位置[^1]。 例如,在Linux下的VT100兼容终端里,可以利用如下所示的ANSI C标准输入输出库函数实现基本的光标定位: ```c #include <stdio.h> int main() { printf("\e[%d;%df", row, col); // 将光标移至指定行列 } ``` 这里的`\e`代表ESC字符(ASCII码27),它后面跟着的是参数列表以及最终决定行为的小写字母f;其中row表示目标行号而col则是列数。需要注意的是,这些数值是从1开始计数而不是常见的从零起始的方式。 另外,在Windows API中也有专门用于操控console窗口内光标的函数SetConsoleCursorPosition(),其原型定义如下: ```cpp BOOL SetConsoleCursorPosition( HANDLE hConsoleOutput, COORD dwCursorPosition ); ``` 通过传递合适的句柄hConsoleOutput(通常由GetStdHandle获取)连同期望的新坐标dwCursorPosition即可完成相应操作[^2]。 ### 关于机器码 机器码是指计算机硬件可以直接执行的一系列二进制指令集。每条指令都对应着CPU内部的一个具体动作,如加载数据到寄存器、算术运算等。由于不同架构的处理器有着各自独特的指令编码方式,因此即使是相同的高级语言源代码也可能被编译成完全不一样的机器码形式。 编写纯手写的机器码是一项极其复杂且容易出错的任务,因为这不仅要求开发者熟悉所针对平台的具体指令格式及其寻址模式,还需要考虑到诸如字节序(Byte Order)这样的细节问题。然而,在实际应用当中很少有人会直接去编辑裸机级别的二进制文件来进行软件开发——更多时候人们依赖于更高层次的语言工具链自动完成这一转换过程。 尽管如此,理解机器码的工作原理仍然有助于深入掌握计算系统的底层运作机制,并能帮助程序员更好地优化性能敏感型程序片段。例如,在逆向工程领域中,IDA Pro这类强大的调试/反汇编工具可以帮助研究者解析已有的可执行文件并揭示隐藏在其背后的算法结构[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值