滁州易推,您最值得信赖的滁州网站建设公司
  13687364536     913676469@qq.com      网站地图 
RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-18:30
推荐扫一扫添加微信咨询
微信二维码
关闭右侧工具栏

营销知识

Java8新功能lambda表达式
  • 浏览量:
  • 发表时间:2019-06-08 10:49:59
  • 来源:易推网络

·a.lambda表达式语法

语法1:没有参数,没有返回值

()-System.out.println(“你在哪里”);

语法2:有一个参数,没有返回值

(x)-System.out.println(x);

语法3:如果有参数,则不能在没有括号的情况下写入返回值

x-System.out.println(x);

语法4:有两个或更多参数,有返回值,并且lambda正文中有多个数据

比较器整数co=(x,y)-{

System.out.println("Syntax4");

返回InteGer.compare(x,y);

};

语法5:如果lambda体中只有一个语句,则返回和括号可以留下

(x,y)-Integer.compare(x,y);

语法6:在lambda表达式中参数类型可以保持不成文,编译器将根据上下文推断

·2.lambda表达式需要功能接口的支持

功能接口:接口中只有一个抽象方法的接口是称为功能界面。@FunctionalInterface可用于确定它是否是功能界面

·三。Java8内置四个核心功能接口

消费者T:消费者界面

voidaccept(Tt)

供应商(T):供应界面

Tget();

功能T,R:功能界面

Rapply(Tt);

谓词T:断言接口

boolentest(Tt)
·四:·4.1方法参考

有三种主要语法格式

1.Object::Instance方法名称

PrintStreamps1=System.out;

2.Class::staticmethodname

比较器整数com=(x,y)-Integer.compare(x,y);

比较器整数cm=整数::比较;

3.Class::Instance方法名称

BiPredicateString,Stringbp=(x,y)-x.equals(y);

BiPredicateString,Stringbp1=String::equals;

注意:

1.lambda体中调用方法的参数列表和返回值类型,以及函数列表和返回函数接口中的抽象方法返回类型保持不变

2.如果lambda参数列表中的第一个参数是实例方法的调用者,则第二个参数在使用实例方法的参数时,你可以使用ClassName::method

·4.2构造函数引用

格式:ClassName::new

注意:要调用的构造函数参数列表必须与功能接口中抽象方法的参数列表一致

·4.3数组引用

格式:输入[]::new

例如:

功能整数,String[]fun=(x)-新字符串[x];

字符串[]str=fun.apply(10);

System.out.println(str.lenGth);

FunctionInteger,String[]fun=String[]::new;

String[]str=fun.apply(20);

System.out.println(str.length);

·5:Stream的三个步骤:

1、创建流

1.1Stream()或parallelStream()

ListStringlist=newArrayList()由Collection集合提供;

StreamStringstream1=list.Stream();

1.2通过数组中的静态方法流()获取数组流

员工[]emps=新员工[10];

StreamEmployeestream2=Arrays.stream(emps);

1.3通过Stream类的静态方法()

StreamStringstream3=String.of(“aa”,“bb”,“cc”);

1.4创建无限流

迭代

StreamIntegerstream4=Stream.iterate(0、(x)-x+2);

stream4.forEach(System.out::的println);//无限生成

//生成

Stream.generate(()-Math.ramdom());

2.中间操作

2.1过滤和切片

filter-接收lambda并从流中排除某些元素。

limit-截断流,使其元素不超过给定数量

skip(n)-跳过元素并返回抛弃前n个元素的流。如果流中的元素少于n个,则返回一个空流,其中包含limit(n)Complementary

distinct-过滤,删除hashCode()重复元素和流生成的元素的等于

2.2Mapping

map-接收Lambda,它将元素转换为其他形式或提取信息。接收函数作为参数,该函数将应用于每个元素并映射到新元素。

3.终止操作。

本文由滁州易推网络公司提供,公司主要提供全椒网站建设业务,站内文章大部分为原创,部分转载于网络,若转载请标注 /article/17_329.html

上一篇:Pyjon和Java(新旧黑马语言的比较)
下一篇:如何撰写企业网站建设方案?