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

  • GamingAndTech

    GamingAndTec

    16 NİSAN 2013
  • LevelUpTuts

    LevelUpTuts

    20 Ocak 2012
  • mipd1980

    mipd1980

    25 EKİM 2006