12
votes

Java Convertir ArrayList en chaîne et retour à ArrayList?

Je voulais enregistrer une arrayliste à SharedPreferences afin que je dois la transformer en chaîne et à l'arrière, c'est ce que je fais:

[item1,item2,item3]


0 commentaires

6 Réponses :


35
votes

Vous avez 2 choix:

  1. Analyez manuellement la chaîne et recréez la arraylist. Ce serait assez fastidieux.
  2. Utilisez une bibliothèque JSON comme Google's bibliothèque gson pour stocker et récupérer des objets comme chaînes JSON. C'est une bibliothèque légère, bien considérée et populaire. Ce serait une solution idéale dans votre cas avec un minimum de travail requis. E.g., XXX


3 commentaires

J'ai changé les éléments de la matrice en chaînes, je suis sûr que cela doit être beaucoup plus facile maintenant.


Peu importe. Avec GSON, vous pouvez convertir n'importe quel objet Java en une chaîne, puis le convertir. Donc, même si vous avez une arrayliste d'objets personnalisés, il n'y a pas de problème.


Est-ce qu'il fonctionne pour arraylist avec gson.fromjson (arraystring, arraylist.class) ?



3
votes

Essayez ceci xxx

Cela fonctionnera si la virgule est utilisée comme séparateur et aucun des éléments ne l'a.


0 commentaires

1
votes

J'ai fini par utiliser:

ArrayList<String> array = Arrays.asList(arrayString.split(","));


0 commentaires

1
votes

La page http: // mjiayou .com / 2015/07/22 / / exception-gson-peut-interne sans être-cast- contient les éléments suivants:.

Type     type  = new TypeToken<List<T>>(){}.getType();
List<T>  list  = gson.fromJson(jsonString, type)


0 commentaires

2
votes
      //arraylist convert into String using Gson 
      Gson gson = new Gson();
      String data = gson.toJson(myArrayList);
      Log.e(TAG, "json:" + gson);

      //String to ArrayList

      Gson gson = new Gson();
      arrayList=gson.fromJson(data, new TypeToken<List<Friends>>()
      {}.getType());

0 commentaires

0
votes

Mise à jour de la réponse de Dhruv Gairola pour Kotlin xxx


0 commentaires