簡體   English   中英

由於具有私有訪問權限而無法編譯,並且僅在基於IntelliJ Idea的IDE中發生錯誤

[英]Cannot compile due has private access and error happens only in IntelliJ Idea based IDE

我一周前嘗試使用Android SDK進行IntellJ IDEA,今天我嘗試編譯一個新項目,但出現此錯誤

java: java.util.LinkedHashMap.Entry has private access in java.util.LinkedHashMap

相關

private final HashMap<String, Bitmap> sHardBitmapCache = new LinkedHashMap<String, Bitmap>(HARD_CACHE_CAPACITY / 2,
        0.75f, true) {
    @Override
    protected boolean removeEldestEntry(LinkedHashMap.Entry<String, Bitmap> eldest) {
        if (size() > HARD_CACHE_CAPACITY) {
            sSoftBitmapCache.put(eldest.getKey(), new SoftReference<Bitmap>(eldest.getValue()));
            return true;
        } else
            return false;
    }
};

在您的方法中,使用接口Map代替:

private final Map<String, Bitmap> sHardBitmapCache = new LinkedHashMap<String, Bitmap>(HARD_CACHE_CAPACITY / 2,
        0.75f, true) {

    @Override
    protected boolean removeEldestEntry(Map.Entry<String, Bitmap> eldest) {
        if (size() > HARD_CACHE_CAPACITY) {
            sSoftBitmapCache.put(eldest.getKey(), new SoftReference<Bitmap>(eldest.getValue()));
            return true;
        } else
            return false;
    }
};

這是Map上的公共嵌套接口,如下所示:

java.util.Map源代碼

您會注意到, LinkedHashMap中的嵌套靜態類是私有的,如下所示:

java.util.LinkedHashMap源代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM