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 以及 @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的更多相关文章
- idea中Lombok的Buider构造器模式,getter/setter正确使用方法
public class ApiUser implements Serializable { private Long id; /*** * 用户类型:single,org(organization) ...
- lombok(@Getter&@Setter)
Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法. 官方地址:https://project ...
- idea中使用插件lombok简化java bean的getter/setter/log等常用功能
一.安装. 1. 2. 3. 4. . 二.使用 1. 2. 3. 结果分析,如果没有添加@Setter注解,则LombokTest中的student示例无法使用setAge()等方法.使用lombo ...
- lombok @Getter @Setter 使用注意事项
lombok是一个帮助简化代码的工具,通过注解的形式例如@Setter @Getter,可以替代代码中的getter和setter方法,虽然eclipse自带的setter.getter代码生成也不需 ...
- 找不到getter/setter——没有安装lombok插件
项目pull后的问题: import lombok.Getter; import lombok.Setter; @Setter @Getter public class ConcreteEntity ...
- IDEA中使用Lombok时候,getter,setter注解不生效/每次重启后才生效
Relevance.java代码如下: import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; imp ...
- Lombok(1.14.8)的简单示例
分享自: http://blog.csdn.net/huey2672/article/details/42240985 Lombok是一种Java™实用工具,可用来帮助开发人员消除Java的冗长,尤其 ...
- Lombok(1.14.8) - @NoArgsConstructor, @RequiredArgsConstructor & @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor,提供一个无参的构造方法. package com.huey.hello.bean; import java.util.Dat ...
- Lombok(1.14.8) - @NonNull
@NonNull @NonNull,生成一个非空检查. package com.huey.lombok; import lombok.Getter; import lombok.NonNull; im ...
随机推荐
- Android中回调接口的使用
MainActivity如下: package cn.testcallback; import android.os.Bundle; import android.app.Activity; /** ...
- Simulator模拟器 硬件键盘不能输入
快捷键: Command + Shift +K
- CentOS服务器配置发送邮件服务
CentOS服务器配置发送邮件服务 lsb_release -a 查看linux系统版本 在CentOS6以上版本自带mailx版本12.4 rpm -qa | grep mailx 查看系统自带的m ...
- centos 6.5下安装docker
关于docker的更多信息,请移步度娘.以下两个链接也对docker有了具体的介绍: http://www.docker.org.cn/book/docker/what-is-docker-16.ht ...
- 一个非常标准的Java连接Oracle数据库的示例代码
最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择“D:\Oracle\app\ ...
- iis 启用父目录路径访问
今天公司有个客户保修网站后台无法访问,我查看了源代码,发现ASP代码本身并没有什么问题.而且我下到本地能够访问.就是在网上不能正常连接,显示入下错误: Server.MapPath() 错误 'ASP ...
- JQuery的Ajax使用Get,Post方法调用C#WebService并返回数据
本文将介绍jQuery调用基于.NET Framework 3.5的WebService返回JSON数据,另外还要介绍一下用jQuery调用WebService的参数设置及设置不当所出现的问题,还有出 ...
- MVC4 EF6 MYSQL
在MVC的框架下连接mysql数据库 将EF框架升级到EF6 将NEW JSON升级到与之相匹配的版本 然后进行相应的配置就可以了
- iOS 2D绘图详解(Quartz 2D)之Transform(CTM,Translate,Rotate,Scale)
前言:Quartz默认采用设备无关的user space来进行绘图,当context(画板)建立之后,默认的坐标系原点以及方向也就确认了,可以通过CTM(current transformation ...
- mysql 5.6 binlog组提交
mysql 5.6 binlog组提交实现原理 http://blog.itpub.net/15480802/viewspace-1411356 Redo组提交 Redo提交流程大致如下 lock l ...