我正在编写需要在Java 7中运行和编译的库代码,所以我不能直接使用Java 8中的新lambda特性。
但是,我仍然希望Java 8能够方便地使用这些代码。
我应该应用哪些实践来确保我的库的Java 7和Java 8用户都能获得最好的体验?
发布于 2014-03-12 08:19:03
Lambda表达式基于单方法接口。在使用单一方法接口实现的任何地方(例如,实现有一个方法的接口的匿名内部类),Java 8用户可以使用lambda表达式。
看看Java8中是如何修改集合类的;例如,添加到Iterable中的Iterable方法。这些方法中的每一个都以单个方法接口作为参数。
看一下:
为了使您的库能够使用Java 8之前的用户,您还可能希望提供支持在集合上迭代的旧风格的方法;不要强迫这些用户使用大量的匿名内部类。
https://stackoverflow.com/questions/22345508
复制相似问题