Referans türü dönüştürmeleri - 1

"Ve şimdi, Diego'dan kısa bir ders. Kısa ve öz. Referans tipi dönüştürmeler hakkında."

"Object değişkenleri ile başlayalım. Böyle bir değişkene herhangi bir referans tipi atayabilirsiniz ( genişletme dönüştürmesi ). Ancak atamayı diğer yönde yapmak için ( darlaştırma dönüştürmesi ), bir cast işlemini açıkça belirtmeniz gerekir:"

kod Tanım
String s = "mom";
Object o = s; // o stores a String
Tipik bir genişleyen referans dönüştürme
Object o = "mom"; // o stores a String
String s2 = (String) o;
Tipik bir daraltma referans dönüştürmesi
Integer i = 123; // o stores an Integer
Object o = i;
Genişletme dönüştürme.
Object o = 123; // o stores an Integer
String s2 = (String) o;
Çalışma hatası!
Bir Tamsayı başvurusunu bir Dize başvurusuna çeviremezsiniz.
Object o = 123; // o stores an Integer
Float s2 = (Float) o;
Çalışma hatası!
Bir Tamsayı referansını bir Float referansına çeviremezsiniz.
Object o = 123f; // o stores a Float
Float s2 = (Float) o;
Aynı türe dönüştürme. Daralan bir referans dönüştürme.

" Genişletme veya daraltma referans dönüştürmesi, nesneyi hiçbir şekilde değiştirmez. Daraltma (veya genişletme) kısmı, özellikle, atama işleminin değişkenin ve yeni değerinin tip denetimini içerdiğini (içermediğini) ifade eder. "

"Bu, her şeyin açık olduğu ender örnek."

" Bu örneklerdeki hatalardan kaçınmak için ,  Object değişkeni tarafından hangi türe başvurulduğunu bulmanın bir yolunu bulduk: "

kod
int i = 5;
float f = 444.23f;
String s = "17";
Object o = f;                       // o stores a Float

if (o instanceof  Integer)
{
    Integer i2 = (Integer) o;
}
else if (o instanceof  Float)
{
    Float f2 = (Float) o;            // This if block will be executed
}
else if (o instanceof  String)
{
    String s2 = (String) o;
}
3
Görev
Java Syntax,  seviyeders
Kilitli
Code entry
Your attention, please! Now recruiting code entry personnel for CodeGym. So turn up your focus, let your fingers relax, read the code, and then... type it into the appropriate box. Code entry is far from a useless exercise, though it might seem so at first glance: it allows a beginner to get used to and remember syntax (modern IDEs seldom make this possible).

"Nesnenin türünden %100 emin değilseniz, bu kontrolü her genişletme dönüştürmesinden önce gerçekleştirmelisiniz."

"Anladım."