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ş:
Neden char[] şifreler için Dize Java t...
Neden Java'In hashCode() Dize çar...
'in ne kontrol etmek için en iyi ...
Neden hiçbir Dize yoktur.Java boş?...
Java döküm havai tanıtmak mı? Neden?...