2013-04-01 56 views
0

我節省了矢量使用GSON保存對象的使用GSON

這是我的getter和setter方法sharedpreferences,但我似乎對我的getter一些警告SharedPreferences一個載體。

我二傳手沒有任何警告

 Gson gson = new Gson(); 
    String json = gson.toJson(al); 
    editor.putString("accountLabels", json); 
    editor.commit(); 

我消氣警告我「類型安全:型載體的表達需要選中轉換爲符合矢量」

Gson gson = new Gson(); 
    String json = myPref.getString("accountLabels", "Error"); 
    Vector<AccountLabels> obj = gson.fromJson(json, Vector.class); 
    return obj; 

我不不知道在它周圍有多少工作是保存共享首選項中的對象或對象向量,但對我來說這似乎是最好的解決方案。

回答

1

我不確定問題是什麼。我猜這是爲了解決未經檢查的轉換警告。要做到這一點,改變

Vector<AccountLabels> obj = gson.fromJson(json, Vector.class); 

Vector<AccountLabels> obj = gson.fromJson(json, new TypeToken<Vector<AccountLabels>>(){}.getType()); 

警告正在發生,因爲fromJson方法返回類型Vector,但它被分配到Vector<AccountLabels>類型的引用。

(注:自2001年以來(我認爲)和較新的集合API,use of Vector is frowned upon

+0

是的,它是關於預警,感謝它有助於答案。這也是很好的知道。這是令人失望的,以及矢量是如此便攜。 – kotsumu