0

Gson を使用して共有設定にベクトルを保存しています

これは私のセッターとゲッターですが、ゲッターに警告があるようです。

私のセッターには警告がありません

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

私のゲッターは私に「型の安全性:Vector型の式は、Vectorに準拠するためにチェックされていない変換が必要です」と警告します

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

オブジェクトやオブジェクトのベクトルを sharedpreferences に保存することがどれだけの回避策かはわかりませんが、私にとっては最善の解決策のようです。

4

1 に答える 1

1

質問の意味がわかりません。未チェックの変換警告の解決に関係していると思います。そのためには、変更

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

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

fromJsonメソッドが type を返しているために警告が発生Vectorしていますが、 type の参照に割り当てられていますVector<AccountLabels>

(注: 2001 年以降 (だと思います)、新しい Collections API では、 の使用Vectorは嫌われています。)

于 2013-04-01T02:54:25.673 に答える