此前给大家带来了java

Lambda表达式访问成员变量详细介绍,下面就要继续给大家介绍java

Lambda表达式访问局部变量的内容,一起通过简单的文章来进行了解吧。

对于成员变量的访问Lambda表达式和普通方法没有什么区别,但是,访问局部变量的时候,变量必须是final类型的(不可改变)。

示例:public class LambdaDemo

{

// 实例成员变量

private int value = 10;

// 静态成员变量

private static int staticValue = 5;

// 静态方法,进行加法运算

public static Calculable add()

{

// 局部变量

int localValue = 20;

Calculable result = (int a, int b) - >

{

// localValue++;

// 编译错误

int c = a + b + localValue;

return c;

};

return result;

}

// 实例方法,进行减法运算

public Calculable sub()

{

// final局部变量

final int localValue = 20;

Calculable result = (int a, int b) - >

{

int c = a - b - staticValue - this.value;

// localValue = c;

// 编译错误

return c;

};

return result;

}

}

在上面的代码当中,第10行和第23行都声明一个局部变量localValue,Lambda表达式中访问这个变量,如代码第14行和第25行。

不论这个变量是否显示显式地使用final修饰,它都不能在Lambda表达式当中修改变量,所以代码第12行和第26行,假如,去掉注释会发生编译错误。

注意,Lambda表达式只能访问局部变量而不能修改,否则会发生编译错误,但对静态变量和成员变量可读可写。

以上的知识你都了解了吗?请多多的关注奇Q工具网吧,更多的java入门知识,可以继续为你分享和解答哦。

推荐阅读:

java lambda 局部变量_java Lambda表达式访问局部变量详细介绍相关推荐

  1. java lambda 累加_Java lambda 循环累加求和代码

    Java lambda 循环累加求和代码,给大家,希望能,可以使用,这篇,小编 Java lambda 循环累加求和代码 易采站长站,站长之家为您整理了Java lambda 循环累加求和代码的相关内 ...

  2. 使用了未初始化的局部变量_Java 成员变量和局部变量

    通过一个简单的 demo 我们学习下 java 中成员变量和局部变量的相关知识点. Demo 说说下面代码执行打印的结果是什么? public class MainClass {public stat ...

  3. JavaAccessBridge(Java访问桥)详细介绍

    Java Access Bridge 通过 Java 访问桥 API,您可以给使用Java应用程序编写的在windows系统上运行的图形化系统开发辅助技术应用程序.它包含本机方法,使您能够查看和操作有 ...

  4. JAVA导出Excel通用工具类——第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选、动态合并横向(纵向)单元格等多种复杂情况——保姆级别,真的不能再详细了,代码拿来即用)

    JAVA导出Excel通用工具--第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选.动态合并横向(纵向)单元格等多种复杂情况--保姆级别,真的不能再详细了,封装通用工具类,代码拿 ...

  5. java lambda例子_Java lambda 表达式常用示例

    实体类 package com.lkb.java_lambda.dto; import lombok.Data; /** * @program: java_lambda * @description: ...

  6. java lambda示例_Java Lambda 常用语法示例

    users.stream().forEach( item -> System.out.println(item.getId()) ); Optional optional = users.str ...

  7. lambda语法_Java Lambda语法替代

    lambda语法 关于lambda-dev邮件列表的讨论已经开始解决lambdas /函数文字的Java语言语法应该是什么样的问题. 让我们看一个稍微平凡的例子,然后尝试弄清楚问题. Perl的人有一 ...

  8. java中访问修饰符_Java中的访问修饰符介绍

    java中访问修饰符 什么是访问修饰符? (What are Access Modifiers?) Have you ever wanted to define how people would ac ...

  9. java外部接口图解_java代码实现访问网络外部接口并获取数据的工具类详解

    java代码实现访问网络外部接口并获取数据的工具类 工具类代码,可以直接copy使用 package com.yqzj.util; import org.apache.log4j.LogManager ...

最新文章

  1. java 宕机监控_JAVA实现监测tomcat是否宕机及控制重启的方法
  2. I Hate It HDU - 1754 (线段树)
  3. 指针数据类型 java_C/C++ 指针的小结——指针与其它数据类型(数组、字符串、函数、结构体)的关系...
  4. Codeforces 360E 贪心 最短路
  5. window.open打开新窗口被浏览器拦截的处理方法
  6. Ethercat解析(五)之基础答疑
  7. 如何给UNIX域Socket套接字抓包?
  8. ROS indigo在Ubuntu上的安装教程
  9. Vancouver wechat
  10. Android Multimedia框架总结(四)MediaPlayer从Java层到C++层类关系及prepare及之后其他过...
  11. dos2unix命令解决 Shell 脚本无法执行的问题
  12. C#winform之自定义按钮形状
  13. html同页框架间本地信息传递,[MUI] mui框架实现页面间传值
  14. 扫雷小游戏(超详细)
  15. 研发人员的特质_9个有效开发人员的人格特质
  16. 中文分句,处理双引号
  17. 文件在服务器中存储,如何发送音频文件在服务器中存储
  18. 阿里,淘宝,天猫,京东2012年的大概销售额
  19. 杰普实训(前端)第一天知识点总结
  20. 五年IT五股东风 吹奏一曲SaaS“东风破”

热门文章

  1. vector/list/map/set的插入、删除、遍历 - remove\erase函数
  2. 【Linux】42.Ubuntu 18.04笔记本电脑关闭盖子无法唤醒问题解决
  3. Programming Computer Vision with Python (学习笔记七)
  4. 《漫画算法》源码整理-1 时间复杂度 空间复杂度
  5. Nginx - request_time和upstream_response_time的区别
  6. 教你认清MVC,MVP和MVVM
  7. Machine Learning week 2 quiz: Linear Regression with Multiple Variables
  8. 使用 Fluentd 和 ElasticSearch Stack 实现 Kubernetes 的集群 Logging
  9. Laravel 学习开篇
  10. PHP----------PHP自身的性能优化注意事项