当前位置: 首页 > news >正文

12个优秀平面设计素材网站企业网站备案流几天

12个优秀平面设计素材网站,企业网站备案流几天,莱芜都市人才网,陕西百度公司Java8新特性1——函数式接口lambda表达式 注#xff1a;以下内容基于Java 8#xff0c;所有代码都已在Java 8环境下测试通过 目录#xff1a; Java8新特性1——函数式接口lambda表达式方法引用Stream 1. 函数式接口 如果在一个接口中#xff0c;有且只有一个抽…Java8新特性1——函数式接口lambda表达式 注以下内容基于Java 8所有代码都已在Java 8环境下测试通过 目录 Java8新特性1——函数式接口lambda表达式方法引用Stream 1. 函数式接口 如果在一个接口中有且只有一个抽象方法则该接口被称为函数式接口。如 interface Test {void test(); }注 可以在接口前使用 FunctionalInterface 注解判断这个接口是否是⼀个函数式接口。如 FunctionalInterface interface Test1 {//有且仅有一个抽象方法是函数式接口void test(); }FunctionalInterface interface Test2 {//有且仅有一个抽象方法是函数式接口void test();default void f() {} }FunctionalInterface interface Test3 {//没有抽象方法不是函数式接口编译器报错 }FunctionalInterface interface Test4 {//有多个抽象方法不是函数式接口编译器报错void test1();void test2(); }2. lambda表达式 2.1 lambda表达式作用 lambda表达式是一个匿名函数用于简化函数式接口的实现。 在Java中接口不能实例化但接口对象可以指向实现类对象。当没有实现类对象时可以通过匿名类的方式如 public class Main {public static void main(String[] args) {Test test new Test() {Overridepublic void f() {System.out.println(使用匿名函数的方式实现了函数式接口);}};test.f();} }FunctionalInterface interface Test {void f(); }使用匿名类的方式代码不是很简洁因此引入了lambda表达式如 public class Main {public static void main(String[] args) {Test test () - System.out.println(使用lambda表达式的方式实现了函数式接口);test.f();} }FunctionalInterface interface Test {void f(); }在使用lambda表达式之后代码变得简洁了很多因此可以说lambda表达式是和函数式接口相辅相成的。在上面的代码中lambda表达式实际做了以下三个工作 自动实现接口 Test test new Test();将 - 前的参数自动添加到抽象函数里面上面代码中抽象函数没有参数 void f();将 - 后的语句作为抽象函数的方法体 void f(){System.out.println(使用lambda表达式的方式实现了函数式接口); }2.2 lambda表达式语法格式 lambda表达式的格式如下 (参数1, 参数2, ……) - {方法体; }其中 参数要求和函数式接口中抽象方法的参数一致包括数量和类型以及顺序如果函数式接口中抽象方法有返回值则实现的时候也需要返回值 public class Main {public static void main(String[] args) {Test test (int x, int y) - {//参数、返回值与函数式接口中抽象方法一致return x y;};test.add(1, 2);} }FunctionalInterface interface Test {int add(int x, int y); }2.3 lambda表达式的精简 参数精简 参数类型可以省略若省略一个类型参数则所有的类型参数都要省略若只有一个参数则小括号可以省略若参数为0或者多于1个则小括号不可以省略 方法体精简 若方法体中只有一行代码则花括号可以省略若方法体中只有一行代码且是return语句则在省略大括号的时候还需要去掉return关键字若方法体中有多行代码或者使用了return语句则大括号不可以省略 public class Main {public static void main(String[] args) {//只有一个参数省略了小括号//只有一条return语句省略了花括号即return关键字Test test x - Math.exp(x);test.exp(1);} }FunctionalInterface interface Test {double exp(double x); }2.4 变量作用域 lambda表达式只可以访问外部变量但不能修改外部变量lambda表达式访问的外部变量一般都是声明为 final 的但也可以不用声明为 final 但该变量在声明后不能被修改lambda表达式中不允许声明一个与局部变量同名的参数或局部变量 public class Main {static final int a 0;public static void main(String[] args) {final int num1 10;int num2 20;//num2 40; //声明后不能被修改Test test1 x - {System.out.println(num1);//可以访问外部被声明为 final 的变量System.out.println(num2);//可以访问外部的普通变量//num1 20;//只能访问不能修改//num2 20;//只能访问不能修改//int num1 20;//不允许声明一个与局部变量同名的局部变量return Math.exp(x);};//num2 40; //声明后不能被修改test1.exp(1);//不允许声明一个与局部变量同名的参数//Test test2 num1 - Math.exp(num1);} }FunctionalInterface interface Test {double exp(double x); }3. 四大函数式接口 为了让开发者高效地使用函数式接口Java 8 在 java.util.function 包下提供了许多函数式接口以下四种是最为常见的 接口原型抽象方法备注Consumer T accept(T t)消费型接口Supplier T T get()供给型接口FunctionT, RR apply(T t)函数型接口Predicate T boolean test(T t)断言型接口 3.1 Consumer T 消费型接口 该接口只接收输入参数但不输出返回值消费对象只进不出。 接口原型 FunctionalInterface public interface ConsumerT {void accept(T t); }使用示例 import java.util.function.Consumer;public class Main {public static void main(String[] args) {ConsumerInteger acc (t) - System.out.println(t);//实现 Consumer 接口acc.accept(10);} }3.2 Supplier T 供给型接口 该接口只输出返回值但不接收输入参数生成对象只出不进。 接口原型 public interface SupplierT {T get(); }使用示例 import java.util.function.Supplier;public class Main {public static void main(String[] args) {SupplierInteger sup () - 10;//实现 Supplier 接口System.out.println(sup.get());} }3.3 FunctionT, R函数型接口 该接口既接收输入参数又输出返回值用于指定特定功能有进有出。 接口原型 FunctionalInterface public interface FunctionT, R {R apply(T t); }使用示例 import java.util.function.Function;public class Main {public static void main(String[] args) {FunctionInteger, String fun (x) - {//实现 Function 接口String out 输入的整数是 x;return out;};System.out.println(fun.apply(10));} }3.4 Predicate T 断言型接口 该接口既接收输入参数又输出返回值且返回值只能是布尔值用于条件判断有进有出。 函数原型 public interface PredicateT {boolean test(T t); }使用示例 import java.util.function.Predicate;public class Main {public static void main(String[] args) {PredicateInteger pre (x) - x % 2 0;//实现 Predicate 接口int a 10;if (pre.test(10)) {System.out.println(a 是偶数);} else {System.out.println(a 是奇数);}} }
http://www.hkea.cn/news/14492123/

相关文章:

  • 阿里云网站空间做商城流程企业网站带手机源码
  • 世界技能大赛网站建设自己做的网站能放到织梦上
  • 建设银行网站官网登录入口做网站建设公司哪家好?
  • 建设部网站燃气管理部门网站设计的建设目的
  • 苏ICP备网站建设中企动力无锡网络营销有哪些营销方式
  • 网站网站地图怎么做免费询价网
  • 设计 企业网站网站建设合同付款比例
  • 做网站费免图片网站望牛墩网站建设公司
  • 网站标识代码怎么加w网站建设
  • 东莞网站建设dgjwz青岛seo搜索优化
  • 知名网站建设定制虚拟主机网站500错误
  • 寻找大连网站建设微网站建设的第一步是什么 标题
  • 东丽开发区做网站公司怎么做虚拟的网站
  • 天津公司网站如何制作中信建设有限责任公司是国企还是央企
  • 建网站的外包公司怎么建设商城网站
  • 怎样弄免费网站企业网站建设计划表
  • 陕西的网站建设公司淘客网站添加到桌面
  • 电商网站 建设seo推广培训
  • 如何建设移动端网站招投标网站官网
  • 做网站推广合同上海建设银行网站上班时间
  • 网站开发原型 图建设网站网站设计
  • 专门做蛋糕面包的网站网站建设与更新
  • 网站建设网站建设的网络影视网站怎么做原创
  • 昆明住房和城乡建设局网站全网项目资源整合平台
  • 建立网站的主要流程有哪些步骤中国进出口贸易网官网
  • 企业为什么要建设网站汕头企业网站推广技巧
  • 做网站分销违法吗生态旅游网站的建设的内容
  • 建设网站还不如搬砖网站鼠标代码
  • 网站推广100种方法工程建设信息网站资质公告
  • 番禺网站设计与制作有网站前台