Java 8 的 java.util.function.* POJO 的反射新方法
2023-06-13 09:13:56 时间
上代码,看例子
写一个普通的 POJO
public class City {
private String name;
private String code;
public City() {
}
public City(String name, String code) {
this.name = name;
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
传统的方式
// Use a constructor with parameters to create a City
City sf = new City("San Francisco", "SF");
// Use a default constructor with no parameters to create a City
City la = new City();
// Set the members using setters
la.setName("Los Angeles");
la.setCode("LA");
新的 getter 访问方式
// Use the City's method references and assign them to functions
Function<City, String> getNameFunction = City::getName;
Function<City, String> getCodeFunction = City::getCode;
System.out.println("The code for "
+ getNameFunction.apply(sf)
+ " is "
+ getCodeFunction.apply(sf));
-> The code for San Francisco is SF
新的 setter 访问方式
// Use the City's method references and assign them to biconsumers
BiConsumer<City, String> setNameBiConsumer = City::setName;
BiConsumer<City, String> setCodeBiConsumer = City::setCode;
City ny = new City();
setNameBiConsumer.accept(ny, "New York");
setCodeBiConsumer.accept(ny, "NY");
访问 constructor 创建新实例
// Use the City's constructor method reference to create
// a default constructor reference.
Supplier<City> defaultConstructor = City::new;
City sd = defaultConstructor.get();
sd.setName("San Diego");
sd.setCode("SD");
带参数的构建器
// Use the City's constructor method reference to create
// a two-parameter constructor reference.
BiFunction<String, String, City> twoParameterConstructor = City::new;
City dc = twoParameterConstructor.apply("Washington, D. C.", "DC");
相关文章
- java除法保留两位小数_JAVA除法保留小数点后两位的两种方法
- Java继承的概念及方法
- java图书馆新地址_最受Java开发者喜爱的5款开源IDE盘点
- java环境_Java基础篇——环境配置
- actioncontext的作用_object.java类中的方法
- java 文件上传到服务器_Java上传文件到服务器端的方法「建议收藏」
- jvm基础_java实现栈四个方法
- java notifyall_Java Thread notifyAll()方法[通俗易懂]
- java 取当前时间年月日_Java获取当前时间年月日的方法[通俗易懂]
- java url加密_Java实现url加密处理的方法示例
- 【错误记录】NDK 导入外部 so 动态库报错 ( java.lang.UnsatisfiedLinkError | Android Studio 配置外部 so 动态库两种方法 )
- 【Groovy】Groovy 方法调用 ( Java 类成员及 setter 和 getter 方法设置 | Groovy 类自动生成成员的 getter 和 setter 方法 )
- js,java,浮点数运算错误及应对方法详解编程语言
- 使用Java连接MySQL实现查询功能(java连接mysql查询)
- 数据库的操作Java与MySQL搭配:完美数据库操作(java对mysql)
- 运行Linux中定时运行Java程序的实用方法(linux定时java)
- Java驾驭MySQL,读写如飞(java读写mysql)
- Java应用在Linux上乱码的原因及解决方法(java linux乱码)
- 从Java应用程序中实现Oracle配置连接(java配置oracle)
- Java反射之私有字段和方法详细介绍
- Java获取一维数组的最小值实现方法
- Java基于高精度整型实现fibonacci数列的方法