Lombok(1.14.8) - @Getter, @Setter, @ToString, @EqualsAndHashCode & @Data

@Getter / @Setter

@Getter 和 @Setter,分别实现了 Gette r和 Setter 方法。

package com.huey.hello.bean;

import java.util.Date;

import lombok.Getter;
import lombok.Setter;

public class Student {

    @Getter @Setter
    private int studNo;
    @Getter @Setter
    private String studName;
    @Getter @Setter
    private Date birthday;

    public static void main(String[] args) {
        Student stud = new Student();
        stud.setStudName("huey");
        System.out.println(stud.getStudName());    // [OUTPUT]: huey
    }
}

@ToString

@ToString,实现了 toString() 方法。

package com.huey.hello.bean;

import java.util.Date;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@ToString
public class Student {

    @Getter @Setter
    private int studNo;
    @Getter @Setter
    private String studName;
    @Getter @Setter
    private Date birthday;

    public static void main(String[] args) {
        Student stud = new Student();
        stud.setStudNo(10001);
        stud.setStudName("huey");
        stud.setBirthday(new Date());
        System.out.println(stud);        // [OUTPUT]: Student(studNo=10001, studName=huey, birthday=Fri Jul 31 23:01:56 CST 2015)
    }
}

@EqualsAndHashCode

@EqualsAndHashCode,实现了 equals() 和 hashCode() 方法。

package com.huey.hello.bean;

import java.util.Date;

import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

@EqualsAndHashCode
public class Student {

    @Getter @Setter
    private int studNo;
    @Getter @Setter
    private String studName;
    @Getter @Setter
    private Date birthday;

    public static void main(String[] args) {
        Student stud1 = new Student();
        stud1.setStudNo(10001);
        stud1.setStudName("huey");
        stud1.setBirthday(new Date());

        Student stud2 = new Student();
        stud2.setStudNo(10001);
        stud2.setStudName("huey");
        stud2.setBirthday(new Date());

        System.out.println(stud1.hashCode());        // [OUTPUT]: -349449895
        System.out.println(stud2.hashCode());        // [OUTPUT]: -349449895
        System.out.println(stud1.equals(stud2));     // [OUTPUT]: true
    }
}

@Data

@Data,相当上述三个 annotation。

package com.huey.hello.bean;

import java.util.Date;

import lombok.Data;

@Data
public class Student {

    private int studNo;
    private String studName;
    private Date birthday;

    public static void main(String[] args) {
        Student stud1 = new Student();
        stud1.setStudNo(10001);
        stud1.setStudName("huey");
        stud1.setBirthday(new Date());

        Student stud2 = new Student();
        stud2.setStudNo(10001);
        stud2.setStudName("huey");
        stud2.setBirthday(new Date());

        System.out.println(stud1.hashCode());        // [OUTPUT]: -349006373
        System.out.println(stud2.hashCode());        // [OUTPUT]: -349006373
        System.out.println(stud1.equals(stud2));     // [OUTPUT]: true
        System.out.println(stud1);                   // [OUTPUT]: Student(studNo=10001, studName=huey, birthday=Fri Jul 31 23:13:43 CST 2015)
    }
}
时间: 2024-10-24 11:02:51

Lombok(1.14.8) - @Getter, @Setter, @ToString, @EqualsAndHashCode & @Data的相关文章

idea中Lombok的Buider构造器模式,getter/setter正确使用方法

public class ApiUser implements Serializable { private Long id; /*** * 用户类型:single,org(organization) */ private String type; private String loginName; /*** * 身份证姓名/组织机构名称 */ private String name; /** * 身份证号码/营业执照号码 */ private String idNum; private Str

lombok注解为java类生成Getter/Setter方法

1. 先到lombok官网下载lombok.jar包 : http://projectlombok.org/ 2. 下载了之后的两种安装方法: 1. 双击下载下来的 JAR 包安装 lombok 我选择这种方式安装的时候提示没有发现任何 IDE,所以我没安装成功,我是手动安装的.如果你想以这种方式安装,请参考官网的视频. 2.eclipse / myeclipse 手动安装 lombok 1. 将 lombok.jar 复制到 myeclipse.ini / eclipse.ini 所在的文件夹

找不到getter/setter——没有安装lombok插件

项目pull后的问题: import lombok.Getter; import lombok.Setter; @Setter @Getter public class ConcreteEntity extends Entity { // 具体属性 } 一个Entity类使用lombok插件,找不到getter/setter 1.lombok包已经导入 2.排查发现是IDE没有安装lombok插件 原文地址:https://www.cnblogs.com/angelica-duhurica/p/

1-2SPRING-BOOT-JPA添加lombok-管理getter/setter

1.1  lombok 详细使用可以看官网:https://projectlombok.org/features/all 1.2  使用@Data注解,这个注解的作用是: @Data All together now: A shortcut for @ToString, @EqualsAndHashCode, @Getter on all fields, and @Setter on all non-final fields, and @RequiredArgsConstructor! 1.3

Lombok(1.14.8) - @NonNull

@NonNull @NonNull,生成一个非空检查. package com.huey.lombok; import lombok.Getter; import lombok.NonNull; import lombok.Setter; public class NonNullExample { @Getter @Setter private String nonNullField; public NonNullExample(@NonNull String nonNullField) { t

Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript学习笔记(3--this/call/apply) Java程序猿的JavaScript学习笔记(4--this/闭包/getter/setter) Java程序猿的JavaScript学习笔记(5--prototype) Java程序猿的JavaScript学习笔记(6--面向对象模拟) Ja

10.getter & setter

自定义 Person 类 class Person: NSObject { var name: String? var age: Int? } getter & setter var _name: String? var name: String? { get { return _name } set { _name = newValue } } 在 Swift 中以上形式的 getter & setter 很少用 didSet 在 OC 中,我们通常希望在给某一个变量赋值之后,去做一些额

iOS getter setter

getter setter 给成员变量起名字用的 setter方法 设置成员变量值 1. setter 方法一定是对象方法 不可能是类方法 2.一定没有返回值 3. 以set开头,并且set后面跟上需要设置的成员白能量的名称去掉下划线,并且首字母大写 4. 一定有参数 参数类型一定要和成员变量的类型一直 参数名称就是成员变量名称去掉下划线 getter方法用于返回成员变量的值 1. getter 一定是对象方法 2. 一定有返回值 返回值一定和获取的成员变量类型一致 3. 方法名称就是获取的成员

Java程序员的JavaScript学习笔记(4——闭包/getter/setter)

计划按如下顺序完成这篇笔记: 理念. 属性复制和继承. this/call/apply. 闭包/getter/setter. prototype. 面向对象模拟. jQuery基本机制. jQuery选择器. jQuery工具方法. jQuery-在"类"层面扩展. jQuery-在"对象"层面扩展. jQuery-扩展选择器. jQuery UI. 扩展jQuery UI. 这是笔记的第4篇,聊聊闭包/getter/setter,看看JavaScript中的变量作