JavaEclipse中从Lambada表达式运行错误的解决方法到学到新知识
package lambda;
interface Animal{void shout();
}
public class Lambda1 {public static void main(String[] args) {String name = "小花";//使用java中Lambda表达式,无参数,单表达式语句。animalshout(()->System.out.println("Lambda表达式输出:"+name+"喵喵。。。"));} //创建一个animalShout()静态方法,接收接口类型参数public static void animalshout(Animal an) {an.shout();}
}
在使用jdk1.8.0-151时出现的错误,本来在java8.0版本中,增加的新特性应该是, 局部内部类、匿名内部类可以访问到非final的局部变量,增加了lambda表达式的,但是我之前使用jdk1.8.0-151,应该是旧版本,虽然是1.8.0,但还没有更新新特性,所以输出lambda时总是出现多个语法错误,面对这种情况,读者应该去Java官网中使用卸载工具取出旧版本,直接安装最新的jdk版本,第二步在Eclipse编译器中更改自己的jdk版本,由于新版的JDK9,11,13,17没有JRE,所以无法在Eclipse中自主更改JRE,本人愚钝,没有更改成功,选择卸载重装Eclipse的操作。(77条消息) eclipse更换jdk版本_zeal9s的博客-CSDN博客_eclipsejdk版本切换zhttps://blog.csdn.net/zeal9s/article/details/85090545
这是另一位博主的文章,可以看。
接下来是我在为解决这个问题时跌跌撞撞找到答案走过的心酸路,同时学到了很多知识,已经解决问题的伙伴可以离开了
自学者的确很难受,我在使用Eclipse时,通过Java基础入门这本书一直学到了匿名内部类和Lambda表达式的部分,其中8.0版本之后增加了局部内部类和匿名内部类访问局部变量时,不必再在局部变量前加final修饰,增加了lambda表达式这个新特性。
//定义动物类接口
interface Animal{void shout();
}
public class Example{public static void main(String[] args){String name = "小花" ;
/**
*在jdk8.0版本之前,
*局部内部类,和匿名内部类在访问局部变量时,必须在局部变量前加上final修饰,否则错误
*例如,应改为final String name;
*/animalShout(Animal(){public void shout(){System.out.println("匿名内部类输出:"+name+"喵喵。。");}});
//使用Lambda表达式作为参数传递给animalShout方法,jdk8.0版本之前会提示lambda表达式有多个语法错误
animalShou(()->System.out.println("Lambda表达式输出:"+name+"喵喵。。"));
}
//创建一个animalShout的静态方法,接收Animal接口类型的参数an
//必须让匿名内部类和lambda表达式使用的方法名和下面的静态方法名相同,使用相同的接口类型的参数
//这样才算完成了接口内抽象方法的具体化,
public static void animalShout(Animal an){
an.shout();
}
使用jdk1.8.0.151的我,Eclipse提示我在局部变量前添加final,提示lambda表达式错误,在多次更改代码后还是错误,于是我对照书发现这种错误由版本引起,我查阅了java官网上jdk8.0版本新增加的特性,最后认为时这个版本的问题,于是卸载掉重新安装最新的版本,在多次操作修改eclipse使用的jdk版本失败后,狠心卸载重装,重装后一切正常。
在重装的过程中,我学到了symdm.cpl可以打开系统属性,找到环境变量和路径。
我学到cd [文件路径],可以打开对应文件#中括号是要去掉的,文件路径就是你打开文件管理器,上方搜索栏里显示的一串英文字符和/组成的字符串。
我学到cd ..可以返回父目录,例如我们通过win + r 进入运行 ,输入cmd进入命令提示符后,首先进入的就是C:\Users\Win10>,你可以输入cd .. 返回到C:\Users\> ,如果你想进入d盘,直接输入 D:就好,想打开d盘中的某个文件,就输入cd [文件路径] //注意,不要把中括号也输入进去。
我学到使用命令行工具来编译并运行Java程序
我可以进入命令提示符之后,找到我们编写的java程序,例如,我通过记事本输入了一个Java程序,怎么使用记事本运行java程序? 新建一个记事本,然后将记事本的后缀改为“.java”,使用记事本的方式打开,输入java程序代码,按“win+R”快捷键键打开运行,输入“cmd”,输入“D:”,按“Enter”,再输入“cd Desktop”进去Desktop文件夹,再输入“javac Test.java”,按“Enter”键,再输入“java Test”,按“Enter”键。注意:在Windows环境中,如果使用Notepad编辑Test.java,实际上会把它保存为Test.java.txt,如果采用是默认的Windows设置,记事本会隐藏.txt扩展名,你需要在保存时将下方的文件类型改为所有文件,文件名后缀依旧加上.java就成功生成java源程序了。
https://jingyan.baidu.com/article/f71d603746984a5bb641d1e9.html
这是其他up用记事本写java源程序的教程,一定要注意!保存文件类型要选择所有文件类型!!!
javac命令是将源程序改为class字节码文件。java命令是将class字节码文件解释执行的。
学完如何从命令行编译和运行一个java程序后,我兴致冲冲的开始运行eclipse,试着打印一串最简单的"你好世界",却发现,2022年6月份的eclipse居然不能输出中文了。
我想到这是编码格式的问题,UTF-8是自带的格式,你需要更改为GBK格式,无需大小写,
(77条消息) Eclipse设置编码格式_初尘19的博客-CSDN博客_eclipse 编码
谢谢观看
为了解决一个普通的lambda表达式的问题,我居然稀里糊涂的学到这么多小知识!这就是非专业者学习java的痛苦,没有一个好的老师教导,像我只能学到哪里是哪里,如果身边由专业的大拿可能我一分钟就解决问题了。但很可惜没有,如果你也是小白,可以关注我一下,也许我们在野蛮成长的过程中也会遇到同样的问题。
谢谢观看
JavaEclipse中从Lambada表达式运行错误的解决方法到学到新知识相关推荐
- VC中Error spawning cl.exe错误的解决方法.
VC中Error spawning cl.exe错误的解决方法. 转载地址:http://blog.csdn.net/badboyfind/article/details/1816189 可能很多人在 ...
- WCF中使用自定义behavior提示错误的解决方法
WCF中使用自定义behavior提示错误的解决方法 参考文章: (1)WCF中使用自定义behavior提示错误的解决方法 (2)https://www.cnblogs.com/shenba/arc ...
- 绝地求生大逃杀显示错误服务器,吃鸡运行错误完美解决方法_ 《绝地求生:大逃杀》运行错误提示...
铁骨网给大家带来的是吃鸡运行错误解决办法,绝地求生大逃杀,大吉大利今晚吃鸡,吃鸡bug,一起来看一下吧~ <绝地求生大逃杀>运行错误怎么办?在安装完游戏启动时会出现各种各样的错误提示,而如 ...
- Linux中常见的几种错误和解决方法
1.Linux中常见的错误有四种: ping: unknown host:主机找不到错误 timeout:请求超时 permission denied: 权限被拒绝 Connection refuse ...
- Kali Linux中Unable to locate package错误的解决方法2-1
1 错误产生原因 在使用apt-get指令从源服务器的仓库中安装软件时,有时会产生Unable to locate package的错误,如图1所示. 图1 安装软件错误 该错误的意思是"不 ...
- 针对Win10中Win键+R运行没有历史记录解决方法
Win10系统中的运行是我们经常使用的,一般来说我们执行过一些命令后,运行就会在下拉框中记录使用过的命令,不过有用户反馈自己的系统Win键+R运行没有历史记录,这该如何解决呢? 不显示是因为Win10 ...
- python安装报错2503_关于windows安装python过程中出现error 2503 2502错误的解决方法
[近日在一台新安装的Ubuntu 11.10上安装Ruby on Rails, 安装ruby的时候没什么问题,到了 sudo gem install rails的时候报下面的错误:`require': ...
- Linux的gedit没有权限,Linux中gedit时遇到得错误及解决方法
今天在安装vimgdb的时候遇到各种错误,唉,尤其是这个错误,所以就搜了一下,记住吧,以后不许犯同样得错误了- gedit各种出错 相信从ubuntu Gnome桌面环境走过来的人都对gedit很熟悉 ...
- Windows7中出现的KERNELBASE.dll错误的解决方法(转)
在Windows7系统中,偶尔会出现这样的软件无法启动问题,详细信息是KERNELBASE.dll错误,不知是什么原因? 其实这并不是KERNELBASE.dll的问题,也并不需要复制一个KERN ...
最新文章
- vim 忽略大小写查找字符串
- 【神经网络与深度学习】读书笔记
- Ubuntu16.04 安装Python开发环境
- java适配器模式 场景_Java设计模式之《适配器模式》及应用场景
- UIView 的基础
- fcc无线充电认证_FCC规定了无线路由器固件,轮椅和胰岛素的开放状态以及更多新闻
- linux使用rename批量修改文件扩展名
- 回溯法——设计一个算法在1、2、3... 9(顺序不能变)数字之间插入+ 或 - 或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性和全排列
- Java多线程——Condition条件
- java读取配置文件中文乱码
- 800元组装一台3D打印机全教程流程
- Electron客户端的自动升级方案-2022版
- 基于视觉无人机的高速公路违章识别技术
- 第二十四讲 一阶常微分方程组
- 超长内容自动显示省略号
- Rplot函数图形参数设置
- 【便签纸】记录一次Linux服务器上通过sftp上传文件时的错误
- Java中类名虽然可以直接使用静态属性但是在使用时要注意静态属性是一个常量
- python视频网站项目_[项目实战] Python Flask构建微电影视频网站
- 山东科技大学oj 1490 该按哪些键