public class Container {}
public class ContainerInt extends Container{
public int einInt;
// ...
}
Also ich will zum Beispiel alle primitiven Datentypen in ein Array packen und drüber iterieren? Also geht das nur, wenn ich das ganze mit Klassen mache, die dann instanziert werden und ich quasi diese Instanzen (Objekte) in ein Array packe? Ich kapier das nicht ganz. :autsch: :bahnhof: ;(
new ArrayList<Object>().add(1.0)
[OT]:lol: Rapper haben keine Klasse. Jedenfalls nicht in Java. :lol:[/OT]Wie ich schon sagte nicht "rappen" sondern "wrappen" !
Gruß
JP
Nochmals. Ich muss für jeden Datentyp eine eigene Klasse erstellen und diese Klassen dann einer WrapperKlasse zuordnen, um über die Instanz dieser Klasse zu iterieren DAMIT ich endlich finally an meinem Ziel die paar Datentypen rauskrieg? Also das logische Prinzip habe ich nicht ganz erfasst ... Was soll daran praktisch sein?
Warum so schwer?funktioniert bei mir prächtig, dank auto in-/outboxing ab Java Version 5.Java:new ArrayList<Object>().add(1.0)
Beim drüber iterieren dann mit "instanceof Wrapper-Klasse" herausfinden, um welchen Primitivtypen es sich handelte und entsprechend zuweisen.
Willkommen bei "nichts kapiert". Dann muss ich dir (und damit auch dem TO) wohl mal präsentieren, wie das gemeint war.1.0 ist ein double-Literal. Mit instanceof muss er überhaupt nichts prüfen, der Typ ergibt sich aus dem Kontext. Außerdem macht diese Codezeile für eine Zuweisung doch wenig Sinn, denn add gibt nichts zurück.
ArrayList<Object> numbers = new ArrayList<Object>();
numbers.add((byte) 1);
numbers.add((short) 1);
numbers.add((char) 1);
numbers.add(1);
numbers.add(1L);
numbers.add(1.0F);
numbers.add(1.0);
// iterieren
for(Object o : numbers) {
if(o instanceof Byte) {
byte b = (Byte) o;
} else if(o instanceof Short) {
short s = (Short) o;
} else if(o instanceof Character) {
char c = (Character) o;
} else if(o instanceof Integer) {
int i = (Integer) o;
} else if(o instanceof Long) {
long l = (Long) o;
} else if(o instanceof Float) {
float f = (Float) o;
} else if(o instanceof Double) {
double d = (Double) o;
}
}
Object[]
List<Object>
Integer
Byte
int
byte
Object[] foo = new Object[42];
foo[0] = 3;
int
Integer
Willkommen bei "nichts kapiert". Dann muss ich dir (und damit auch dem TO) wohl mal präsentieren, wie das gemeint war.
Object[] foo = new Object[4];
foo[0] = 3;
foo[1] = meinLong;
foo[2] = meinChar;
foo[3] = meinBoolean;