ArrayList to Array of Strings in java

ArrayList<String> newArray = new ArrayList<String>(); newArray = urlList.getUrl(); for( int i = 0 ; i < newArray.size();i++) { System.out.println(newArray.get(i)); } newArray.toArray(mStrings );// is this correct mStrings = newArray.toArray();// or this to convert ArrayList ot String array here for( int i = 0 ; i < mStrings.length;i++) { System.out.println(mStrings[i]); } 

EDIT: lorsque j'essaie comme ci-dessous, j'ai une exception de pointeur nulle:

 try { newArray.toArray(mStrings ); for(int i = 0 ; i < mStrings.length; i++) { System.out.println(mStrings[i]); } } catch( NullPointerException e ) { System.out.println(e); } 

  • Pourquoi mon menu déroulant débordement est-il sur la barre d'action?
  • Android Studio 2.0 Aucun périphérique USB détecté
  • Valeur de retour AsyncTask
  • Comment ajouter des paramètres à une requête HTTP GET dans Android?
  • Android SnackBar: erreur gonflant SnackbarLayout
  • Comment analyser JSON Array avec Gson
  • 5 Solutions collect form web for “ArrayList to Array of Strings in java”

    Cela dépend de ce que vous voulez faire. Les deux sont corrects

    ToArray () Renvoie un tableau contenant tous les éléments de cette liste dans une séquence appropriée (du premier au dernier élément).

    Référer ici

    ToArray (T [] a) Renvoie un tableau contenant tous les éléments de cette liste dans une séquence appropriée (du premier au dernier élément); Le type d'exécution du réseau renvoyé est celui du tableau spécifié. Si la liste correspond au tableau spécifié, elle y est retournée. Sinon, un nouveau tableau est attribué avec le type d'exécution du tableau spécifié et la taille de cette liste.

    Référer ici

    Dans l'ancien, vous voulez obtenir un tableau. Sur ce dernier, vous avez un tableau, vous avez juste voulu le compléter.

    Dans votre cas, le premier formulaire est préféré, car vous voulez simplement obtenir un tableau sans avoir à déranger la taille ou les détails.


    Fondamentalement, c'est ce qui se passe en 2ème cas:

    1. La taille de la liste est une mesure.
    2. (A) Si la taille de la liste est inférieure à celle du tableau fourni, une nouvelle matrice du type fourni comme argument est créée.

      (B) Sinon, la liste est déversée dans le tableau spécifié.

    Le seul avantage de ce fait est d'éviter de couler. Les deux formes sont les mêmes. Si vous utilisez un tableau d'objets. c'est à dire

      myList.toArray() <==> toArray(new Object[0]) 

    Maintenant, si vous passez un tableau non initialisé, vous obtiendrez une NullPointerException. La meilleure façon de le faire est:

      String[] y = x.toArray(new String[0]); 

    Veuillez lire le document

    Habituellement, j'écris

     String[] array = collection.toArray(new String[collection.size()]); 

    Parce que de cette façon

    1. Je reçois un tableau du type que je veux.
    2. Je n'ai pas à déclarer le tableau avant d'appeler Collection.toArray(T[]) .

    La première option est meilleure, car elle vous permet de passer dans un tableau typé, qui est ensuite peuplé dans la méthode.

    La deuxième option renvoie un objet [] – donc vous devriez l'utiliser pour utiliser les méthodes String.

    En Java simple, j'utilise quelque chose comme

     rolesList.toArray(new Integer[rolesList.size()]); 

    Pour convertir la liste en tableau. Je ne sais pas dans Android.

    Que dis-tu de ça

      List a = new ArrayList(); a.add("wer"); a.add("sff"); String[] f= (String[]) a.toArray(new String[0]); System.out.println(f[0]); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.