IDEA問題java: -source 1.6 中不支持diamond、 lambda 表達式



今天學B.match小白課第12節 HashMap 時,

一、問題:連片的java: -source 1.6 中不支持 diamond 運算符、lambda 表達式

①在

Map<String,String> hashMap = new HashMap<>();//key和value都是string

處出現了如下問題:
※ Error:(12, 52) java: -source 1.6 中不支持 diamond 運算符
(請使用 -source 7 或更高版本以啟用 diamond 運算符)
②在

    hashMap.forEach((key,value) ->{
            System.out.println("[key="+key+",value="+value+"]");
        });

處出現了類似問題:
※ Error:(24, 37) java: -source 1.6 中不支持 lambda 表達式
(請使用 -source 8 或更高版本以啟用 lambda 表達式)

一般聲明的時候需指定類型
Map<String,String> hashMap = new HashMap<>();

但是 JDK1.7 之后,就不需要加<>里面的內容了.這個<>被稱為diamond(鑽石)運算符

二、解決方法:

1.在微信群里問大佬,大佬在玩游戲,回復的比較慢

2.自己查Google、Baidu、CSDN

①起初的錯誤:直接copy報錯內容,沒有進行改動,所以什么都查不到

我當時百度的是我的報錯內容:

Error:(12, 52) java: -source 1.6 中不支持 diamond 運算符
  (請使用 -source 7 或更高版本以啟用 diamond 運算符)

太復雜,百度不知道我要問什么
后來安靜了一下修改了方法

②改進后的查詢方式

java: -source 1.6 中不支持 diamond 運算符

出來一大片,不用仔細看,解決問題就行,代碼就是我們該學的

借鑒:https://blog.csdn.net/kwy15732621629/article/details/77127506

3.IDEA->Project Structure

在這里插入圖片描述

有沒有發現我上傳的CSDN圖片沒有水印,啊啊哈哈哈哈哈哈哈 改成這樣就行!
![在這里插入圖片描述](https://img-blog.csdnimg.cn/2018120623285938.png)

把language level改成7.Diamonds,ARM,multi-catch etc.以后只能解決java: -source 1.6 中不支持 diamond 運算符的問題
還得把language再改到8-Lambdas,type annotations etc.后,才能解決 java: -source 1.6 中不支持 lambda 表達式的問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM