欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

理解java8中java.util.function.*pojo反射新方法(附代码)

程序员文章站 2022-01-21 21:13:08
...

之前的文章《浅析EOS区块链柚子钱包前端插件scatter开发(分享)》中,给大家了解了区块链中EOS钱包前端插件scatter开发。下面本篇文章给大家了解java.util.function.*pojo反射新方法,伙伴们来看看一下。

理解java8中java.util.function.*pojo反射新方法(附代码)

上代码,看例子

写一个普通的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视频教程

以上就是理解java8中java.util.function.*pojo反射新方法(附代码)的详细内容,更多请关注其它相关文章!

相关标签: java8