Function 对象转换,如把String转成int,A类转成B类

package com.jeesite.modules.jiQiao.web;

import com.google.common.base.Supplier;
import com.jeesite.modules.jiQiao.entity.Person;
import com.jeesite.modules.jiQiao.entity.UserTest;

import java.util.function.Function;

public class DemoFunctionTest {
// 对象转换,如把String转成int,A类转成B类
public static void main(String[] args) {
/*getNumber((String str) -> {
Integer integer = Integer.valueOf(str);
int i = Integer.parseInt(str);
return integer;
});*/

// 把一个数值转换成int并且乘5
/*getNumber2((String str) -> {
return Integer.parseInt(str);
}, (Integer i) -> {
return i * 5;
});*/
UserTest userTest = new UserTest();
userTest.setAge(20);
userTest.setHig(170);
userTest.setName("张三");
getPerson(userTest,(UserTest userTest1) -> {
Person person = new Person();
person.setAge(userTest.getAge());
person.setHig(userTest.getHig());
person.setName(userTest.getName());
return person;
});
}


public static void getNumber2(Function<String, Integer> fun1, Function<Integer, Integer> int1) {
// Integer apply = fun1.apply("6");
// Integer apply1 = int1.apply(apply);
Integer apply = fun1.andThen(int1).apply("6");
System.out.println(apply);
}

//对象的转换,把UserTest转成Person输出
public static void getPerson(UserTest user,Function<UserTest, Person> function) {
Person person = function.apply(user);
System.out.println(person.getName() + ",身高" + person.getHig());
}

}
posted @ 2020-07-26 18:30  火源  阅读(373)  评论(0编辑  收藏  举报