Невозможно использовать метод замены HashMap: вызов требует API-уровень 24 (текущий минимум 22): java.util.HashMap # replace - PullRequest
0 голосов
/ 01 мая 2018

Итак, ребята, почему я не могу использовать метод замены HashMap в своем проекте Android Studio?

private HashMap<Integer, Integer> scoreLine = new HashMap<Integer, Integer>();
scoreLine.put(0, 22;
scoreLine.put(1, 46);
scoreLine.put(2, 89);

scoreLine.replace(1, 49); // I can't use this
scoreLine.replace(1, 46, 49); // I can't use this either

Хотя я могу использовать метод put, чтобы добавить элемент

Вот мой gradle.build (только часть кода)

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.example.practiceprojectweekend"
        minSdkVersion 22
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

Как видите, я действительно установил текущий minSdkVersion 22 * ​​1009 * и этот метод замены требует минимального уровня 24

Я заменяю этот minSDK на 24
Но тогда я не смог запустить приложение, используя мое Android-устройство

Есть ли способ обойти это без изменения minSdkVersion?

1 Ответ

0 голосов
/ 01 мая 2018

Нет способа обойти это без изменения minSdkVersion. replace(K, V) был добавлен в SDK версии 24, а replace(K, V, V) был добавлен в SDK версии 26.

Как отмечено в комментариях, put заменит существующее значение.

Подробнее см. На странице документов

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...