J'ai du mal à m'envelopper la tête autour d'un concept. J'essaie de convertir un essaie de créer un cellule de cellule qui veut une liste comme entrée. Je reçois une arrayliste de commandes à partir d'une requête de DB, puis itérale pour retirer les numéros de commande que j'ai ensuite mis dans une arrayliste, que je souhaite ensuite convertir en liste à utiliser dans la cellule de cellule. Quelqu'un peut-il expliquer pourquoi je ne peux pas faire cela et quelle est la méthode appropriée? P> p> arraylist
(code> (ou
Liste
4 Réponses :
Un arraylist
arraylist code> implémente la liste code> interface code> . Aucun casting n'est nécessaire. P>
java.util.list code> est une interface et la liste
Je ne comprends pas le problème que vous avez depuis une liste code> implémente une liste Vous pouvez Changez cette ligne p> à: p> code> avec la liste
code> étant une interface.
Mon problème était dans ma tête, je pensais que je devais avoir à convery dans une liste, je n'ai pas réalisé que l'arraylist était une liste de types, je pensais que c'était sa propre chose. J'ai changé cette ligne, et maintenant ça marche. Merci.
Recommandation personnelle, essayez d'utiliser l'interface lors de la déclaration d'une variable afin que vous puissiez modifier la mise en œuvre par la suite. Imaginez par exemple la commutation de ArrayList code> à un
LinkedList code>, vous n'auriez pas besoin de changer quoi que ce soit si vos méthodes s'attendent à une liste
code>.
@ALEX - Ce n'est pas un bon conseil pour un projet qui utilise GWT, en particulier pour GWT-RPC. De Guide de développeur de Google : " pour faire le Le meilleur usage du polymorphisme, cependant, vous devez toujours essayer d'être aussi spécifique que votre conception permet de définir des interfaces de service. Spécificité accrue permet au compilateur de faire un meilleur travail d'élimination du code inutile lorsqu'il optimise votre demande de réduction de la taille. " je>
Je pense que, en général, il s'agit d'un Bon conseil . Merci même pour votre lien, je ne le savais certainement pas!
Je ne comprends pas non plus le problème, mais Eclipse a des problèmes avec quelque chose comme Liste
> autre () {Liste
un J'ai dit à mon IDE d'utiliser ArrayList code> est une liste
code>, donc je ne suis pas sûr de ce qui pourrait se passer. Cependant, j'ai une suspicion. Regardez les importations en haut du fichier. Peut-être avez-vous la ligne au sommet du fichier:
java.awt.list code> comme une suggestion pour la liste
code>. Cependant, vous écrivez encore trop de code. Considérez les
FOOCH CODE> DE JAVA: P>
@Override
public void onSuccess(ArrayList<Order> result) {
List<String> orderNumbers = new ArrayList<String>();
for (Order order: result) {
orderNumbers.add(Integer.toString(order.getOrderNumber()));
}
values.addAll(orderNumbers);
cellList.setRowData(values);
}
Merci pour les suggestions, j'ai nettoyé mon code. Une fois que j'ai compris que cette arraylist était une liste elle-même.
Je ne vois pas où vous essayez de taper quelque chose.
ArrayList code> est un enfant de la liste code>, ce qui signifie qu'un
arraylist code> est toujours une liste
code>, et toutes les méthodes que vous voudrez peut-être utiliser à partir de la classe Code> ArrayList Code> (comme
Taille () code>,
get () code>,
indexof () < / code>, etc.) sont tous disponibles dans la liste
code> aussi! C'est la beauté de l'héritage :) Pouvez-vous nous donner une trace de pile afin que nous puissions voir votre problème exact??
Valeurs Code> ne semble pas être initialisée nulle part, vous obtiendrez un
nullpointexception code> avant autre chose.
Cet échantillon de code semble comme s'il manque des choses.