Spécifiez le type pour ArrayList
En Java et Android, j'ai fini par utiliser ArrayList<String>
pour la fourniture de la liste que je les trouve plus facile à utiliser que la norme String[]
. Ma vraie question, même si ce sont:
qu'est-Ce que le <String>
partie de la ArrayList<String>
appelé?
Comment puis-je créer des classes et de l'utilisation de la <>
[modifier]? (Je ne sais pas ce que c'est en fait appelé, donc pour l'instant c'est le modificateur).
Merci!
source d'informationauteur Adam | 2013-03-28
Vous devez vous connecter pour publier un commentaire.
Ici, vous pourrez peut-être y voir plus clair:
Vous pouvez créer une classe de Personne et de le transmettre à une liste de tableaux que cet extrait montre:
La
<String>
est la partie la argument de type. Il fournit une "valeur" de toutes sortes pour la paramètre de type qui est leE
dansArrayList<E>
... de la même manière que si vous avez une méthode:et vous l'appeler avec:
le paramètre est
x
et l'argument fourni est5
. Les paramètres de Type et de type d'arguments sont l'équivalent générique, dans le fond.Voir la section 4.5 de la JLS (et les liens) pour plus de détails - et la Java Génériques FAQ pour plus d'informations sur les génériques que vous pourriez peut-être voulez lire 🙂
Le peu entre les
<>
est un type d'argument, et la fonction est appelée Les génériquesSupose que vous voulez une liste de tableaux à être rempli seulement avec des Chaînes.
Si vous écrivez:
Vous pouvez être sûr que si quelqu'un tente de remplir la liste de tableaux avec un int il sera détecté dans de compiler sur le temps.
Donc, les génériques sont utilisés dans des situations où vous souhaitez appliquer des restrictions de ce genre.
Chercher le génériques syntaxe de Java. Qui vous mènera tout droit (enfin, en quelque sorte; beaucoup de gens à trouver de Java approche inférieure à C++ et C#).
La est le paramètre de type. En Java, vous devez fournir l'un de ces quand la classe est écrit comme un générique.
Voici un exemple d'une définition de classe Générique
Vous pouvez maintenant créer des nœuds de n'importe quel type que vous avez passé. La T agit comme un paramètre de type générique pour la définition de votre classe. Si vous souhaitez créer un nœud d'Entiers, il suffit de faire:
Il convient de noter que votre type de paramètre doit être un objet. Cela fonctionne à travers Java de l'auto-boxing et de l'auto-unboxing. Cela signifie que vous ne pouvez pas utiliser les types primitifs de java et vous devez utiliser les classes correspondant au lieu.
Aussi, si vous ne passez pas dans un paramètre de type je suis sûr que votre code sera toujours compilé. Mais il ne fonctionne pas.