Arraylist mit Integer-zahlen und Strings
Ich möchte erstellen Sie eine Arraylist, die enthalten sollte, Ganzzahlen und Strings.. Ist das möglich?
Erstellt habe ich zwei Arraylist-wie unten angegeben:
ArrayList<Integer> intList=new ArrayList<Integer>();
intList.add(1);
intList.add(2);
ArrayList<String> strList=new ArrayList<String>();
strList.add("India");
strList.add("USA");
strList.add("Canada");
Will ich intList & strList in eine neue ArrayList.
Kann ich tun?? Wenn ja, Wie??
- Ja, Sie können erstellen einen
ArrayList<Object>
aber gesagt haben, dass mein Rat für Sie ist: nicht. Erstellen Sie keine Listen mit gemischten Typen, da dies deutet darauf hin, dass Ihr Programm-design ist gebrochen und muss verbessert werden, so dass diese Art von monster ist nicht erforderlich. - Warum wollen Sie mix aus zwei verschiedenen Typen in einer einzelnen ArrayList?
- Gibt es Abhängigkeiten zwischen diesen beiden Listen?
- Jede Antwort sollte auch erklären, warum das eine schlechte Idee. Ich bin -1 voting alle, die nicht.
- Vielleicht, wenn Sie erklären, was Sie wollen es, wir können vorschlagen, einige besseren Weg, es zu tun.
- Eigentlich gibt es keine Abhängigkeiten. Aber wie pro Anforderung fragte ich, um zu tun.
- Können Sie bitte erklären, warum Sie es tun wollen?
- re
"But as per requirement..."
-- mit Voraussetzung? Erklären Sie bitte, warum Sie dies tun. - anstatt downvoting jeder, warum nicht fügen Sie eine Antwort, erklärt Sie?
- Nur weil man etwas tun kann, macht es nicht eine gute Idee. Diese Art von "Lösung" ist sehr unwahrscheinlich das eine gute Idee und mehr wahrscheinlich, dass Sie durchführen sollten, eine andere, basierend auf Ihren tatsächlichen Anforderungen. BTW +1 für die erste Frage, ist es ok.
- Dude diese
as per requirement
Zeug stinkt Hausaufgaben! - Die ich nicht beantworten kann, bis der Benutzer rechtfertigt seine Begründung für diese Notwendigkeit. Bis dann, alles, was ich Frage ist, dass die Beantworter Stelle eine Einschränkung in Ihren Antworten, die besagt, dass dies eine schlechte Idee ist. Ich glaube nicht, dass dies unzumutbar ist.
- Sie haben eine gute Auswahl von Lösungen (denke ich). 1+
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie dies tun, wie folgt aber aufgeben, Generika für die Liste container.
Aber, ein besserer Weg wäre, um eine
Map
zu verfolgen die beiden Listen da würde der compiler nicht mehr in der Lage sein, um zu verhindern, dass Sie aus der Vermischung von Typen, wie wenn man einen String in eine Integer-Liste.Wenn es vermeidbar ist, vermeiden Sie bitte diese Liste von Objekt-Typ. Gehen Sie für die einzelnen Listen.
Wenn nicht, dann sollten Sie gehen für die Art der
Object
akzeptieren alle Typ-Objekte, aber aufpassen beim abrufen.
Überprüfung der Objekte beim abrufen
Können Sie tagged Summe Arten:
Either<A, B>
ist entwederLeft<A, B>
oderRight<A, B>
. In Java wird es so Aussehen:So können Sie
ArrayList<Either<Integer, String>>
.Dieser Ansatz ist mehr Typ-sicher als die Verwendung von
Object
.Bin ich Ihnen, dass z.B. die Umsetzung in meinem Projekt inquiryhere.com Klicken Sie hier, um zu Besuchen
java-code...
Jspbean
jstl-code, arbeite ich mit jstl