int nach Object casten?

chickenwings

Erfahrenes Mitglied
Moin Leudde,

sagt mal, kann ich eigentlich einen int in Object casten?
Also direkt geht das nicht, habe versucht

rb.add((Object)i); auszuführen, wobei die Methode add() ein Object erwartet.
Aber vielleicht gibt es eine weniger direkte Lösung

Gruss
chickenwings
 
Hallo!

Das Feature gibts indirekt unter Java 5 und heißt (Auto)Boxing:
Java:
        int i = 100;
        List<Integer> ints = new ArrayList<Integer>();
        ints.add(i);
        int j = ints.get(0);
        System.out.println(j);

Gruß Tom
 
sagt mal, kann ich eigentlich einen int in Object casten?
Also direkt geht das nicht, habe versucht

Object o = (Object) 5;
geht natürlich nicht. 5 ist ein primitiv.

Aber jedes primitiv hat Wrapper Klassen. java.lang.Integer ist hier dein Freund.
Object o = (Object)new Integer(5);
würde gehen, ist aber blödsinn ;-)

Da Integer ja (wie alle anderen Klassen auch) Object erweitert, kannst du
wunderbar follgendes schreiben:

Bei Java 1.4
Java:
for(int i = 0; i < 10; i++)
    mylist.add(new Integer(i));

Ab 1.5 (gehe mal davon aus das du kein 1.5 laufen hast, sonst dürfte dein Kompiler bei int nicht meckern)
Java:
for(int i = 0; i <10; i++) 
    mylist.add(i);
 
Hi Leute,

melde mich spät, aber dennoch.
@Tom, danke. Das habe ich versucht funktioniert aber nicht, da ich 1.4 habe, wusste ich aber auch nicht vorher. Bin immer davon ausgegangen, daß ich eine aktuelle Version habe.

@Christian, mit der Lösung für 1.4 funktioniert es wunderbar. Danke.

Gruss
André
 
Zurück