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 ...
随机推荐
- C#中Internal class与静态类说明
C#中的internal访问修饰符表示 访问仅限于当前程序集 但是注意,internal修饰符修饰的类中,可以有public的成员变量和成员方法等 Static 关键字作为修饰符可以用于类.方法和成员 ...
- 新手一步一步OpenCV+Win7+Visual Studio 2013环境配置
地点:湖南大学软件大楼211 时间:2013.12.19 昨天导师布置了个任务,要求是找出用相机拍出同一移动场景下的两张照片,计算机能根据其中的差异计算场景移动的距离和旋转角度.据说以前很牛逼的师兄完 ...
- main函数是个什么东西
习惯的main函数有无参和两个参数的版本,那么main函数只能这么写吗? 好奇写了一个bug版本的main,结果是呵呵 #include <iostream> ...
- js字符串常用判断方法
转自:http://blog.sina.com.cn/s/blog_6819fa800100j5t6.html 一.方法介绍 function obj$(id) ...
- PHP+MySQL多语句执行<转自wooyun>
发起这个帖子,估计就很多人看到题目就表示不屑了.一直以来PHP+MySQL环境下,无论是写程序或者是注入攻击,是无法多语句执行的,这么广为人知的常识,没理由会有人不知道.可权威就是用来被挑战的,常识也 ...
- PIL在windwos系统下Image.show无法显示图片问题的解决方法
环境:1.win7 64位 2.python 2.7.8 3.PIL-1.1.7.win32-py2.7 在运行一下例子时候出现问题: #-*-coding:utf-8-*- __author__ = ...
- Codeforces Round #334 (Div. 2) D. Moodular Arithmetic 环的个数
D. Moodular Arithmetic Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/60 ...
- Asp.Net页面(母版页)加载顺序
ASP.NET 母版页和内容页中的事件 母版页和内容页都可以包含控件的事件处理程序.对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件.控件事件不会 ...
- Android apk的安装、卸载、更新升级(通过Eclipse实现静默安装)
一.通过Intent消息机制发送消息,调用系统应用进行,实现apk的安装/卸载 . (1) 调用系统的安装应用,让系统自动进行apk的安装 String fileName = "/data/ ...
- Java多线程之wait(),notify(),notifyAll()
在多线程的情况下,因为同一进程的多个线程共享同一片存储空间,在带来方便的同一时候,也带来了訪问冲突这个严重的问题.Java语言提供了专门机制以解决这样的冲突,有效避免了同一个数据对象被多个线程同一时候 ...