java lambda 局部变量_java Lambda表达式访问局部变量详细介绍
此前给大家带来了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表达式访问局部变量详细介绍相关推荐
- java lambda 累加_Java lambda 循环累加求和代码
Java lambda 循环累加求和代码,给大家,希望能,可以使用,这篇,小编 Java lambda 循环累加求和代码 易采站长站,站长之家为您整理了Java lambda 循环累加求和代码的相关内 ...
- 使用了未初始化的局部变量_Java 成员变量和局部变量
通过一个简单的 demo 我们学习下 java 中成员变量和局部变量的相关知识点. Demo 说说下面代码执行打印的结果是什么? public class MainClass {public stat ...
- JavaAccessBridge(Java访问桥)详细介绍
Java Access Bridge 通过 Java 访问桥 API,您可以给使用Java应用程序编写的在windows系统上运行的图形化系统开发辅助技术应用程序.它包含本机方法,使您能够查看和操作有 ...
- JAVA导出Excel通用工具类——第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选、动态合并横向(纵向)单元格等多种复杂情况——保姆级别,真的不能再详细了,代码拿来即用)
JAVA导出Excel通用工具--第一篇:详细介绍POI 导出excel的多种复杂情况,包括动态设置筛选.动态合并横向(纵向)单元格等多种复杂情况--保姆级别,真的不能再详细了,封装通用工具类,代码拿 ...
- java lambda例子_Java lambda 表达式常用示例
实体类 package com.lkb.java_lambda.dto; import lombok.Data; /** * @program: java_lambda * @description: ...
- java lambda示例_Java Lambda 常用语法示例
users.stream().forEach( item -> System.out.println(item.getId()) ); Optional optional = users.str ...
- lambda语法_Java Lambda语法替代
lambda语法 关于lambda-dev邮件列表的讨论已经开始解决lambdas /函数文字的Java语言语法应该是什么样的问题. 让我们看一个稍微平凡的例子,然后尝试弄清楚问题. Perl的人有一 ...
- java中访问修饰符_Java中的访问修饰符介绍
java中访问修饰符 什么是访问修饰符? (What are Access Modifiers?) Have you ever wanted to define how people would ac ...
- java外部接口图解_java代码实现访问网络外部接口并获取数据的工具类详解
java代码实现访问网络外部接口并获取数据的工具类 工具类代码,可以直接copy使用 package com.yqzj.util; import org.apache.log4j.LogManager ...
最新文章
- java 宕机监控_JAVA实现监测tomcat是否宕机及控制重启的方法
- I Hate It HDU - 1754 (线段树)
- 指针数据类型 java_C/C++ 指针的小结——指针与其它数据类型(数组、字符串、函数、结构体)的关系...
- Codeforces 360E 贪心 最短路
- window.open打开新窗口被浏览器拦截的处理方法
- Ethercat解析(五)之基础答疑
- 如何给UNIX域Socket套接字抓包?
- ROS indigo在Ubuntu上的安装教程
- Vancouver wechat
- Android Multimedia框架总结(四)MediaPlayer从Java层到C++层类关系及prepare及之后其他过...
- dos2unix命令解决 Shell 脚本无法执行的问题
- C#winform之自定义按钮形状
- html同页框架间本地信息传递,[MUI] mui框架实现页面间传值
- 扫雷小游戏(超详细)
- 研发人员的特质_9个有效开发人员的人格特质
- 中文分句,处理双引号
- 文件在服务器中存储,如何发送音频文件在服务器中存储
- 阿里,淘宝,天猫,京东2012年的大概销售额
- 杰普实训(前端)第一天知识点总结
- 五年IT五股东风 吹奏一曲SaaS“东风破”
热门文章
- vector/list/map/set的插入、删除、遍历 - remove\erase函数
- 【Linux】42.Ubuntu 18.04笔记本电脑关闭盖子无法唤醒问题解决
- Programming Computer Vision with Python (学习笔记七)
- 《漫画算法》源码整理-1 时间复杂度 空间复杂度
- Nginx - request_time和upstream_response_time的区别
- 教你认清MVC,MVP和MVVM
- Machine Learning week 2 quiz: Linear Regression with Multiple Variables
- 使用 Fluentd 和 ElasticSearch Stack 实现 Kubernetes 的集群 Logging
- Laravel 学习开篇
- PHP----------PHP自身的性能优化注意事项