栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Lambda表达式的使用,java面试题大全

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Lambda表达式的使用,java面试题大全

//用匿名内部类方式

Test test=new Test(new InterfaceTest() {

@Override

public void method(int a, int b) {

System.out.println(“这是匿名内部类方法-----”+“a是:”+a+",b是:"+b);

}

});

//使用lambda表达式

Test test1=new Test((int a,int b)->{System.out.println(“这是Lambda表达式-----”+“a是:”+a+",b是:"+b);});

}

}

三、无参有返回

@FunctionalInterface

public interface InterfaceTest {

int method();

}

public class Test {

public Test(InterfaceTest interfaceTest){

int count=interfaceTest.method();

System.out.println(“返回值:”+count);

}

public static void main(String[] args) {

//用匿名内部类方式

Test test=new Test(new InterfaceTest() {

@Override

public int method() {

System.out.println(“用匿名内部类执行了method()方法”);

return 1;

}

});

//使用lambda表达式

Test test1=new Test(()->{

System.out.println(“用Lambda表达式执行了method()方法”);

return 2;

});

}

}

四、有参有返回

@FunctionalInterface

public interface InterfaceTest {

int method(int a,int b);

}

public class Test {

public Test(InterfaceTest interfaceTest){

int count=interfaceTest.method(2,5);

System.out.println(“返回值:”+count);

}

public static void main(String[] args) {

//用匿名内部类方式

Test test=new Test(new InterfaceTest() {

@Override

public int method(int a, int b) {

System.out.println(“用匿名内部类执行了method()方法,返回值2为a,b的和”);

return a+b;

}

});

//使用lambda表达式

Test test1=new Test((int a,int b)->{

System.out.println(“用Lambda表达式执行了method()方法,返回值2为a,b的和”);

return a+b;

});

}

}

五、Lambda表达式引用方法

我们可以利用Lambda表达式的接口快速指向一个已经被实现了的方法

**语法格式:**方法归属者::方法名 (静态方法的归属者为类名,普通方法归属者为对象)

@FunctionalInterface

publi

【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】

开源分享完整内容戳这里

c interface InterfaceTest {

int method(int a,int b);

}

public class Test {

public static void main(String[] args) {

//当不用引用方法

InterfaceTest interfaceTest1=(a,b)->run_one(a,b);

System.out.println(interfaceTest1.method(2,7));

//当使用引用方法,且引用的方法为静态方法时

InterfaceTest interfaceTest2=Test::run_one;

System.out.println(interfaceTest2.method(4,6));

//当使用引用方法,且引用的方法为普通方法时

Test test=new Test();

InterfaceTest interfaceTest3=test::run_two;

System.out.println(interfaceTest3.method(8,20));

}

public static int run_one(int a,int b){

return a+b;

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/571421.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号