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 表达式进行转换,十分方便
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?