Java-泛型与函数式接口

使用泛型与函数式接口定义类的转换工具类

函数式接口定义


@FunctionalInterface
public interface MyListConverter<S,T> {

    T converter(S source);
}

转换对象的定义

public class MyList<T> {

    private List<T> list = new LinkedList();

    private  int size ;

    public List<T> getList() {
        return list;
    }

    public void setList(List<T> list) {
        this.list = list;
    }

    public int getSize() {
        return size;
    }

    public void setSize(int size) {
        this.size = size;
    }
}

工具类的定义

public class MyListUtil {

public static <S, T> MyList<T> toList(MyList<S> myList, MyListConverter<S,T> converter) {

    MyList<T> newList = new MyList<>();
    newList.setSize(myList.getSize());
    List<T> tList = myList.getList().stream().map(c -> {
        T t = converter.converter(c);
        return t;
    }).collect(Collectors.toList());

    newList.setList(tList);
    return newList;

}
}

在使用工具类转换是可以使用lambda 表达式进行转换,十分方便

posted @   原来是晴天啊  阅读(242)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示