我的項目使用Array#sort需要API等級24(安卓7.0)Android Studio中的minSdkVersion檢查爲Java 1.8(API等級24)具體功能
_tmp.sort((left, right) -> { ... };
但我也minSdkVersion 21
(安卓5.0)
當我運行在Android 6.0模擬器的代碼,以下異常被拋出:
... Caused by: java.lang.NoSuchMethodError: No interface method sort(Ljava/util/Comparator;)V in class Ljava/util/List; or its super classes (declaration of 'java.util.List' appears in /system/framework/core-libart.jar)
我發現,其他用戶詢問此異常:java.lang.NoSuchMethodError: No interface method sort(Ljava/util/Comparator;) exception in sorting arraylist android
到Android工作室什麼好的辦法警告說,.sort
不是在早期比Android 7.0操作系統是否可行?像API有@RequiresApi
?
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { ... }
我知道爲什麼...我已經設置了'compileOptions {sourceCompatibility JavaVersion.VERSION_1_8}'。然後警告不見了... – kenjiuno