Lambda表达式是1.8特别重要的一个新增内容。
之前学习的时候,只注意了书上关于它的使用,语义等。直到前几天有个面试官问我:
问:Lambda表达式知道吗?
答:知道啊。(心里活动:问我问我,这个我前几天刚看过)
问:使用了Lambda表达式的对象可以序列化吗?为什么?
答:WTF???404 not find。您的问题超出了我的知识储备。
今天特地对这个问题进行了实验,顺便把Lambda和序列化进行再次复习。
关于Lambda和序列化的基础知识,咱们就不多说,随便一本java的书说的很清楚。推荐《Java核心技术》。
但是里面不会讲Lambda它能否序列化,以及为什么。
我百度了一下,很多答案是:默认不可以,但是用正确的方式,是可以进行序列化的。
我自己写了一个实验代码。(借鉴几行了博主:诸相非相的代码)
// main运行代码
public class CreatingStreams {
public static void main (String[] args){
Comparator cmp=new ComparatorFactory().makeComparator();
int i=10;
int j =-5;
System.out.println(cmp.compare(i, j));
try