JSONArray構造方法在不同API上的區別

話說都是血與淚,幸好發佈的灰度版本,但是也讓我查了倆天,一個bug在某些人手機上會出現,定位到SDK版本不同的時候,找到了一個低端機用的是4.3系統,成功的復現了。
結論是:**new JSONArray(null) 這句在不同的API上出現了問題,有人問,你sb啊,傳個空進去,我只能說不是我的鍋。。。
不管怎麼說用鮮血找到了這個bug.**
下面是結論:
API 19 一下的構造方法

     public JSONArray(Collection copyFrom) {
        this();
        Collection<?> copyFromTyped = (Collection<?>) copyFrom;
        values.addAll(copyFromTyped);
    }

API 19及以上

  public JSONArray(Collection copyFrom) {
        this();
        if (copyFrom != null) {
            for (Iterator it = copyFrom.iterator(); it.hasNext();) {
                put(JSONObject.wrap(it.next()));
            }
        }
    }

以後面試就問人家:
”你知道API 18 和API 19上JSONArray的構造方法,有什麼不同嗎?”

”哎呀,有話好好說,你拿刀幹嘛。。。”
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章