天天看點

錯誤: -source 1.6 中不支援 diamond 運算符 (請使用 -source 7 或更高版本以啟用 diamond 運算符)

今天晚上在AS上運作校長項目時,報錯如下:

Error:(71, 35) 錯誤: -source 1.6 中不支援 diamond 運算符(請使用 -source 7 或更高版本以啟用 diamond 運算符)

這個錯誤對應程式裡的代碼是:

錯誤: -source 1.6 中不支援 diamond 運算符 (請使用 -source 7 或更高版本以啟用 diamond 運算符)

一般正确的寫法是在聲明的時候指定類型,也就是:

List<PublicBlogListBean>  _hotDatas = new ArrayList<PublicBlogListBean>();

但是在JDK 1.7裡新增了一個新特性:

      增強對通用執行個體建立(diamond)的類型推斷 :

             類型推斷是一個特殊的煩惱,下面的代碼: 

             Map<String, List<String>> anagrams = new HashMap<String, List<String>>(); 

             通過類型推斷後變成: 

             Map<String, List<String>> anagrams = new HashMap<>(); 

             這個<>被叫做diamond(鑽石)運算符,這個運算符從引用的聲明中推斷類型。 

也就是說JDK1.7支援這種類型推斷後,在聲明_hotDatas 時new ArrayList<>裡可以不需要加上PublicBlogListBean類型

截圖中的錯誤也提示了:-soure1.6中不支援diamond運算符,Diamond types are not supported at this language level。說明目前使用的JDK版本不支援,但是Project此時的JDK路徑正是1.7的版本,這...

事實上項目裡還沒有對module做源碼相容性的配置,即設定 Source Compatibility和Target Compatibility為1.7:

錯誤: -source 1.6 中不支援 diamond 運算符 (請使用 -source 7 或更高版本以啟用 diamond 運算符)

點選ok會後gradle重新建構,确定reload Project下就好啦~

錯誤: -source 1.6 中不支援 diamond 運算符 (請使用 -source 7 或更高版本以啟用 diamond 運算符)

也可以在build.gradle裡直接配置:

錯誤: -source 1.6 中不支援 diamond 運算符 (請使用 -source 7 或更高版本以啟用 diamond 運算符)

查找的相關資源:

jdk1.7新特性

AndroidGradlePlugin指南(六)進階建構定制

--------------------- 作者:回歸的阿廖 來源:CSDN 原文:https://blog.csdn.net/aliaooooo/article/details/42536295?utm_source=copy 版權聲明:本文為部落客原創文章,轉載請附上博文連結!