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

做微商那个网站好/seo完整教程视频教程

做微商那个网站好,seo完整教程视频教程,济宁500元网站建设,网站开发寻找潜在客户的途径1.Lambda的语法 lambda 表达式的语法格式如下: (parameters) -> expression 或 (parameters) ->{ statements; } 以下是lambda表达式的重要特征: 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。可选的参数圆括号&…

1.Lambda的语法

lambda 表达式的语法格式如下:

(parameters) -> expression 或 (parameters) ->{ statements; }

以下是lambda表达式的重要特征:

  • 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。
  • 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。
  • 可选的大括号:如果主体包含了一个语句,就不需要使用大括号。
  • 可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值。

使用 Lambda 表达式需要注意以下两点:

  • Lambda 表达式主要用来定义行内执行的方法类型接口,例如,一个简单方法接口。在上面例子中,我们使用各种类型的Lambda表达式来定义MathOperation接口的方法。然后我们定义了sayMessage的执行。
  • Lambda 表达式免去了使用匿名方法的麻烦,并且给予Java简单但是强大的函数化的编程能力。

public class Java8Tester {public static void main(String args[]){Java8Tester tester = new Java8Tester();// 类型声明MathOperation addition = (int a, int b) -> a + b;// 不用类型声明MathOperation subtraction = (a, b) -> a - b;// 大括号中的返回语句MathOperation multiplication = (int a, int b) -> { return a * b; };// 没有大括号及返回语句MathOperation division = (int a, int b) -> a / b;System.out.println("10 + 5 = " + tester.operate(10, 5, addition));System.out.println("10 - 5 = " + tester.operate(10, 5, subtraction));System.out.println("10 x 5 = " + tester.operate(10, 5, multiplication));System.out.println("10 / 5 = " + tester.operate(10, 5, division));// 不用括号GreetingService greetService1 = message ->System.out.println("Hello " + message);// 用括号GreetingService greetService2 = (message) ->System.out.println("Hello " + message);greetService1.sayMessage("Runoob");greetService2.sayMessage("Google");}interface MathOperation {int operation(int a, int b);}interface GreetingService {void sayMessage(String message);}private int operate(int a, int b, MathOperation mathOperation){return mathOperation.operation(a, b);}
}

 

2.变量作用域

java的匿名内部类在访问外部变量的时候,外部变量必须用final修饰。 

lambda 表达式只能引用标记了 final 的外层局部变量,这就是说不能在 lambda 内部修改定义在域外的局部变量,否则会编译错误。可以直接在 lambda 表达式中访问外层的局部变量。

lambda 表达式的局部变量可以不用声明为 final,但是必须不可被后面的代码修改(即隐性的具有final 的语义),在 Lambda 表达式当中不允许声明一个与局部变量同名的参数或者局部变量。

3.方法引用

方法引用可看作对 Lambda 表达式在特定场景下的一种简写。这里的特定场景指的便是将已具有名称的方法用作 Lambda 表达式。

方法引用分为四种:

    引用一个静态方法:ContainingClass::staticMethodName
    引用一个特定对象的实例方法:containingObject::instanceMethodName
    引用特定类型的任意对象的实例方法:ContainingType::methodName
    引用一个构造函数:ClassName::new

4.用法

匿名类可以使用lambda表达式来代替。  排序

List<String> lowercaseNames = FluentIterable.from(names).transform(new Function<String, String>() {@Overridepublic String apply(String name) {return name.toLowerCase();}}).toList();List<String> lowercaseNames = names.stream().map(name -> name.toLowerCase()).collect(Collectors.toList());

创建线程时实现Runnable线程,替代匿名类:

new Thread(new Runnable() {@Overridepublic void run() {System.out.println("Hello from thread");}}).start();
new Thread(()->System.out.println("Hello from thread")).start();

当然,Lambda表达式和 Stream集合的使用情况更多

计算给定数值中每个元素平方后的总和。我们使用 map() 给每个元素求平方,再使用 reduce() 将所有元素计入一个数值

List<Integer> list = Arrays.asList(1,2,3,4,5,6,7);
int sum = 0;
for(Integer n : list) {int x = n * n;sum = sum + x;
}
System.out.println(sum);List<Integer> list = Arrays.asList(1,2,3,4,5,6,7);
int sum = list.stream().map(x -> x*x).reduce((x,y) -> x + y).get();
System.out.println(sum);

5.Lambda 表达式与匿名类的区别

使用匿名类与 Lambda 表达式的一大区别在于关键词的使用。对于匿名类,关键词 this 解读为匿名类,而对于 Lambda 表达式,关键词 this 解读为写就 Lambda 的外部类。

http://www.lbrq.cn/news/1568341.html

相关文章:

  • 0基础学网站开发/优惠活动推广文案
  • 工作室装修网站源码/网络营销推广方式案例
  • wordpress+怎么改密码忘记/搜索引擎关键词快速优化
  • gis网站开发教程/个人建网站需要多少钱
  • dw软件入门教程/郑州百度推广seo
  • 怎样做电商网站的财务分析/优秀网页设计作品
  • 触动网站建设/宁波seo外包优化
  • 网站关键字语法/深圳市网络品牌推广
  • 5网站开发之美/百度推广优化是什么?
  • 网架公司招聘打板施工队伍/淄博seo培训
  • 中国文化网站建设策划书/网站内部优化有哪些内容
  • 好大夫在线网站官网做提眉的医生/互联网营销师是干什么的
  • 武汉网站优化价格/自助建站
  • h5 响应式手机网站/seo技术快速网站排名
  • 旅游网站毕业论文/天津百度推广排名
  • 做办公室的网站/网站优化网站
  • 网站建设方案书阿里云/唯尚广告联盟
  • 郑州高新区做网站开发的公司/深圳seo优化排名
  • 哪些网站做平面单页好看/页优化软件
  • 宇泽佛山网站建设/重庆森林经典台词图片
  • 长沙做四维彩超玛丽亚m网站/搜索引擎优化作业
  • 网站怎么做能让人搜到/seo优化有百度系和什么
  • 网站做百度小程序改造的好处/企业网站建设方案范文
  • 在门户网站做产品单页多少钱一天/武汉seo优化服务
  • 做网站的基本流程/北京十大营销策划公司
  • 可以发布外链的网站/网络营销期末考试试题及答案
  • 苗木网站什么做/百度客户端电脑版
  • 个人网页设计作品html文件夹/系统优化app最新版
  • 网站建设数据库是什么/好的seo网站
  • 四川杰新建设工程网站/seo网站排名的软件
  • Mybatis学习笔记(三)
  • 基于机器学习的文本情感极性分析系统设计与实现
  • tp5集成elasticsearch笔记
  • 公司项目用户密码加密方案推荐(兼顾安全、可靠与通用性)
  • 部署 Docker 应用详解(MySQL + Tomcat + Nginx + Redis)
  • 前后端分离项目中Spring MVC的请求执行流程