lombok使用
1. 添加lombox的jar包:
将lombok.jar(本例使用版本:1.18.10),添加到模块目录下,并添加到ClassPath
2. 为IDEA添加lombok插件(连接网络使用)
-
第一步
File | Settings | Plugins
-
第二步:
-
第三步:
-
第四步:
File | Settings | Build, Execution, Deployment | Compiler | Annotation Processors
安装完毕后,重启IDEA。
lombok常用注解
-
@Getter和@Setter
-
作用:生成成员变量的get和set方法。
-
写在成员变量上,指对当前成员变量有效。
-
写在类上,对所有成员变量有效。
-
注意:静态成员变量无效。
-
-
@ToString:
-
作用:生成toString()方法。
-
该注解只能写在类上。
-
-
@NoArgsConstructor和@AllArgsConstructor
-
@NoArgsConstructor:无参数构造方法。
-
@AllArgsConstructor:满参数构造方法。
-
-
注解只能写在类上。
-
@EqualsAndHashCode
-
作用:生成hashCode()和equals()方法。
-
注解只能写在类上。
-
-
@Data
-
作用: 生成setter/getter、equals、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
-
-
注解只能写在类上。
package com.jcli.demo05_lombok;
import lombok.*;
//lombok怎么使用来着,这样用不了,要依赖或者jar包?
//import jdk.nashorn.internal.objects.annotations.Getter;
//import jdk.nashorn.internal.objects.annotations.Setter;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Person05 {
private String name;
private int age;
private double height;
private double weight;
}
测试:
package com.jcli.demo05_lombok;
import com.jcli.demo01_单例.Person;
public class Test06 {
public static void main(String[] args) {
// 通过有参构造创建Person05对象
Person05 p1 = new Person05("张三",18,1.74,58.2);
Person05 p2 = new Person05("张三",18,1.74,58.2);
// 打印对象---其实会调用toString方法
System.out.println(p1);
System.out.println(p2);
// 通过空参构造创建Person对象
Person05 p3 = new Person05();
p3.setName("李四");
p3.setAge(19);
p3.setHeight(1.68);
p3.setWeight(68);
System.out.println(p3.getName());
System.out.println(p3.getAge());
System.out.println(p3.getHeight());
System.out.println(p3.getWeight());
// 比较p1和p2对象是否相等
System.out.println(p1.equals(p2));// true
System.out.println(p1 == p2);// false
System.out.println(p1.hashCode());// 2122870304,一样
System.out.println(p2.hashCode());// 2122870304,一样
}
}