SORU
23 Ocak 2012, PAZARTESİ


Neden java Dize Tamsayı döküm olamaz?

Garip bir durum buldum:

java.lang.ClassCastException: java.lang.Integer 
 cannot be cast to java.lang.String

Nasıl mümkün olabilir? Her nesne dizeye döküm olabilir, değil mi?

Kod:

String myString = (String) myIntegerObject;

Teşekkürler.

CEVAP
23 Ocak 2012, PAZARTESİ


Neden bu mümkün değildir:

Dize ve Tamsayı aynı Nesne hiyerarşisi içinde değil çünkü.

      Object
     /      \
    /        \
String     Integer

Çalıştığınız dökümü, örneğin aynı hiyerarşi ise çalışır

      Object
     /
    /
   A
  /
 /
B

Bu durumda, (A) objB (Object) objB (Object) objA çalışacak.

Diğerleri zaten söz dizesi kullanmak için bir tamsayı dönüştürmek gibi oradan:

String.valueOf(integer) ya da ilkel Integer.toString(integer),

ya

Nesne için Integer.toString().

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CaliforniaMetin

    CaliforniaMe

    3 ŞUBAT 2013
  • celebrateubuntu

    celebrateubu

    23 Mayıs 2011
  • ChasesAndCrashes

    ChasesAndCra

    31 Temmuz 2009