@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 以及 @RequiredArgsConstructor。

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)
}
}

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

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

    public class ApiUser implements Serializable { private Long id; /*** * 用户类型:single,org(organization) ...

  2. lombok(@Getter&@Setter)

    Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法. 官方地址:https://project ...

  3. idea中使用插件lombok简化java bean的getter/setter/log等常用功能

    一.安装. 1. 2. 3. 4. . 二.使用 1. 2. 3. 结果分析,如果没有添加@Setter注解,则LombokTest中的student示例无法使用setAge()等方法.使用lombo ...

  4. lombok @Getter @Setter 使用注意事项

    lombok是一个帮助简化代码的工具,通过注解的形式例如@Setter @Getter,可以替代代码中的getter和setter方法,虽然eclipse自带的setter.getter代码生成也不需 ...

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

    项目pull后的问题: import lombok.Getter; import lombok.Setter; @Setter @Getter public class ConcreteEntity ...

  6. IDEA中使用Lombok时候,getter,setter注解不生效/每次重启后才生效

    Relevance.java代码如下: import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; imp ...

  7. Lombok(1.14.8)的简单示例

    分享自: http://blog.csdn.net/huey2672/article/details/42240985 Lombok是一种Java™实用工具,可用来帮助开发人员消除Java的冗长,尤其 ...

  8. Lombok(1.14.8) - @NoArgsConstructor, @RequiredArgsConstructor & @AllArgsConstructor

    @NoArgsConstructor @NoArgsConstructor,提供一个无参的构造方法. package com.huey.hello.bean; import java.util.Dat ...

  9. Lombok(1.14.8) - @NonNull

    @NonNull @NonNull,生成一个非空检查. package com.huey.lombok; import lombok.Getter; import lombok.NonNull; im ...

随机推荐

  1. 剑指OFFER之二进制中1的个数(九度OJ1513)

    题目描述: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 输入: 输入可能包含多个测试样例.对于每个输入文件,第一行输入一个整数T,代表测试样例的数量.对于每个测试样例输入为一个整 ...

  2. OpenNebula 创建虚拟机失败(未解决)

    Tue Jul :: [ReM][D]: Req: UID: AclInfo invoked Tue Jul :: [ReM][D]: Req: UID: AclInfo result SUCCESS ...

  3. Python3向网页POST数据

    还是以我的网页iciba为例 POST数据到www.selflink.cn/iciba/get0.php获取返回的查询结果 #coding:utf8 import urllib.request imp ...

  4. Unix-Linux编程实践 学习点滴

    1.结构体最后定义一个char p[0]有什么作用 2. 3. 4. 1.结构体最后定义一个char p[0] 有什么作用 这是个广泛使用的常见技巧,常用来构成缓冲区.比起指针,用空数组有这样的优势: ...

  5. maven常见问题归纳

    前言 Maven,发音是[`meivin],"专家"的意思.它是一个非常好的项目管理工具,非常早就进入了我的必备工具行列,可是这次为了把ABPM项目 全然迁移并应用maven,所以 ...

  6. ios开发——实用技术篇&XML协议详解

    XML的数据协议组成 名词 说明 md5 message-digest algorithm 5 http hypertext transfer protocol xml extensible mark ...

  7. codeigniter分页类传多个参数(转)

    http://example.com/index.php/控制器/方法名/页面的偏移值 页面的偏移值必须是方法名后第一个参数,否者分页类不能判断当前是哪一页,而用ci的分页类进行页面跳转时他是把偏移值 ...

  8. 关于 " +new Date " 的个人见解

    今天晚上,在一个Javascript的Q群里,有人问下面这种代码是什么意思: var time = +new Date; 这段代码中,比较奇怪的是有一个加号,下面说说我个人的理解:这是对后面的对象做一 ...

  9. ant脚本打jar包 自动获取时间以及项目svn版本号

    1.关键代码,获取时间 <tstamp> <format property="touch.time" pattern="yyyy/MM/dd hh:mm ...

  10. javascript操作

    1. >> 按位右移运算符 result = expression1 >> expression2 右移表达式的位,保持符号不变. >> 运算符将 expressi ...