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

蓝田网站建设网站知识介绍

蓝田网站建设,网站知识介绍,网站的系统建设方式有哪些方面,国家企业信用信息网Java8 新特性#xff1a; 1、Lamdba表达式 2、函数式接口 3、方法引用和构造引用 4、Stream API 5、接口中的默认方法和静态方法 6、新时间日期API 7、Optional 8、其他特性 Java8 优势#xff1a;速度快、代码更少#xff08;增加了新的语法 Lambda 表达式#xff09;、强…Java8 新特性 1、Lamdba表达式 2、函数式接口 3、方法引用和构造引用 4、Stream API 5、接口中的默认方法和静态方法 6、新时间日期API 7、Optional 8、其他特性 Java8 优势速度快、代码更少增加了新的语法 Lambda 表达式、强大的 Stream API、便于并行、最大化减少空指针异常 Optional 一、Lambda表达式 Lambda 是一个匿名函数它是一段可以传递的代码将代码像数据一样进行传递。可以取代大部分的匿名内部类可以写出更简洁、更灵活的代码。尤其在集合的遍历和其他集合操作中可以极大地优化代码结构。作为一种更紧凑的代码风格使 Java 的语言表达能力得到提升。 JDK 也提供了大量的内置函数式接口供我们使用使得 Lambda 表达式的运用更加方便、高效。 从匿名类到 Lambda 的转换虽然使用 Lambda 表达式可以对某些接口进行简单的实现但并不是所有的接口都可以使用 Lambda 表达式来实现。Lambda 规定接口中只能有一个需要被实现的方法不是规定接口中只能有一个方法。 二、为何使用Lambda表达式 提供Functional接口的实现。    编码少三、Lambda表达式的语法  (parameters) - expression    或    (parameters) -{ statements; } 四、 Lambda表达式重要特征  可选类型声明不需要声明参数类型编译器可以统一识别参数值。可选的参数圆括号一个参数无需定义圆括号但多个参数需要定义圆括号。可选的大括号如果主体包含了一个语句就不需要使用大括号。可选的返回关键字如果主体只有一个表达式返回值则编译器会自动返回值大括号需要指定表达式返回了一个数值。五、Lambda表达式由三个组件组成 1)参数列表: 也可以为空或非空。 2)箭头令牌: 用于链接参数列表和表达式主体。 3)主体: 它包含表达式和语句 1无参数语法 () - { //Body of no parameter lambda } public class MyLamdba {public static void main(String[] args) {Person p()-{return Hello!;};//输出System.out.println(p.say());} }//FunctionalInterface //It is optional interface Person{public String say(); } 2一个参数语法 (a) - { //Body of single parameter lambda } public class MyLamdba {public static void main(String[] args) {//一个参数可以使用Person p(name)-{return Hello!name;};//输出System.out.println(p.say(mike));//一个参数也可以不使用Person p2name - {return Who are you? name;};System.out.println(p2.say(pop));} }interface Person{public String say(String name); } (3) 两个参数的语法 (p1,p2) - { //Body of multiple parameter lambda } public class MyLamdba {public static void main(String[] args) {//多个参数必须使用Person p(name,age)-{return Hello!name,Are you age years old?;};//输出System.out.println(p.say(mike,18));} }interface Person{public String say(String name,int age); } 4返回值带有或不带有return关键字 public class MyLamdba {public static void main(String[] args) { // one();//(1) (parameter)-(expression)Addable a1(a,b)-(ab);System.out.println(a1.add(100,50));//(2) (parameter)-{statements}Addable a2(a,b)-{return ab;};System.out.println(a2.add(1,5));}}interface Addable{public int add(int a,int b); }5Foreach循环 ListString list Arrays.asList(sunny,windy,cloudy,rainy);list.forEach(m- System.out.println(m)); 六、Lamdba函数接口 方法引用通过一对双冒号:: 来表示方法引用是一种函数式接口的另一种书写方式 静态方法引用通过类名::静态方法名 如 Integer::parseInt实例方法引用通过实例对象::实例方法如 str::substring 类名::实例方法名, 如 String::substring构造方法引用通过类名::new 如 User::newjava.util.function 它包含了很多类用来支持 Java的 函数式编程该包中的函数式接口有  public class MyLamdba2 {public static void main(String[] args) {//接受一个输入参数 StringConsumerString ccPet::show;cc.accept(宠物);//接受一个输入参数 PetConsumerPet petPet::eat;pet.accept(new Pet());//接受两个输入参数 Pet, StringBiConsumerPet,String p1Pet::say;p1.accept(new Pet(),你好啊);//接受两个输入参数 Pet, String,并返回一个值IntegerBiFunctionPet,String,Integer p2Pet::play;int nump2.apply(new Pet(),好球);System.out.println(num);}}class Pet{//静态方法 -有参无返回public static void show(String str){System.out.println(show方法str);}//实例方法 -无参无返回public void eat(){System.out.println(eat方法this.toString());}//实例方法 -有参无返回public void say(String str){System.out.println(say方法str);}//实例方法 -有参有返回public int play(String str){System.out.println(play方法str);return 10;} } 用::提取的函数最主要的区别在于静态与非静态方法非静态方法比静态方法多一个参数就是被调用的实例。 构造方法的引用    一般我们需要声明接口该接口作为对象的生成器通过 类名::new 的方式来实例化对象然后调用方法返回对象。 public class Student {public Student() {}public String getName() {return name;}public void setName(String name) {this.name name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;}String name;Integer age;Student(String name, Integer age) {this.name name;this.age age;}Overridepublic String toString() {return { name name , age age };} } public class MyLamdba3 {public static void main(String[] args) {IBlackConstruct ibc () - new Student();Student stu ibc.getStudent();System.out.println(stu);IBlackConstruct ibc2 Student::new;Student stu2 ibc.getStudent();System.out.println(stu2);IParameterConstruct ibc3 Student::new;Student stu3 ibc3.getStudent(zhangsan, 18);System.out.println(stu3);} }interface IBlackConstruct {// 对象定义 -无参数Student getStudent(); }interface IParameterConstruct {// 对象定义 -有参数Student getStudent(String name, int age); }
http://www.w-s-a.com/news/155347/

相关文章:

  • 岳阳网站开发服务推广运营平台
  • 网站开发得多长时间湖南建设人力资源网证书查询
  • 论坛网站开发网络营销是什么时候产生的
  • 帮人做网站赚钱无忧软文网
  • 做网站要不要营业执照重庆网站优化seo公司
  • 学院宣传网站建设简介做网站没灵感
  • 网站建设终稿确认书网站意义学校
  • 3小时网站建设平台专业制作教学课件
  • 曲阜网站建设百度开户现货黄金什么网站可以做直播
  • 比较好的企业建站平台小程序开发外包该注意些什么
  • 建行官网官网网站吗二次元风格wordpress模板
  • 怎样开通自己的网站网址导航哪个主页最好
  • 大良o2o网站建设详情页设计说明怎么写
  • 您与此网站之间建立的连接不安全汽车cms系统是什么意思
  • 有没有做logo的网站企业网站的内容营销
  • 哈尔滨做企业网站怎么做网站自动响应
  • 网站建设硬件和软件技术环境配置签约做网站模板
  • 教育网站建设的素材手机app制作流程
  • 免费行情软件网站大全下载网站备案查询
  • flex网站模板wordpress实时预览
  • 建设银行网站模板为什么企业要建设自己的企业文化
  • 网站建设必知免费手机网站建站系统
  • ssh可以做wap网站么嘉兴seo排名
  • 站内优化包括哪些帝国做企业网站
  • 做网站seo赚钱吗网络维护和故障维修
  • 企业网站可以自己做摄影网站开发背景怎么写
  • 网站百度指数seo最好的工具
  • 宝安专业网站建设推荐设计感强的网站
  • 网站建设 6万元北京知名的品牌设计公司
  • 网站建设的总体需求是什么vmware 下wordpress