package com.limmg.huawei.lambda;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class LambdaEvolution {
public static void main(String[] args) {
LambdaImpl lambda = new LambdaImpl();
String test = lambda.test(666);
log.info(test);
StaticLambda staticLambda = new StaticLambda();
log.info(staticLambda.test(777));
class LambdaInnerImpl implements OneParameterOneReturn {
@Override
public String test(int a) {
return "局部内部类返回a:" + a;
}
}
LambdaInnerImpl lambdaInner = new LambdaInnerImpl();
log.info(lambdaInner.test(888));
OneParameterOneReturn oneParameterOneReturn = new OneParameterOneReturn() {
@Override
public String test(int a) {
return "匿名内部类返回a:" + a;
}
};
log.info(oneParameterOneReturn.test(999));
OneParameterOneReturn oneParameterOneLambda = (a) ->{
return "lambda表达式返回a:" + a;
};
log.info(oneParameterOneLambda.test(111));
}
static class StaticLambda implements OneParameterOneReturn {
@Override
public String test(int a) {
return "静态内部类返回a:" + a;
}
}
}