1. Sarmalayıcı türlerinin listesi
Java'nın sınıf olmayan türler olan 8 ilkel türü olduğunu biliyorsunuz. Bir yandan, bu iyi — basitler ve az yer kaplıyorlar. Öte yandan, bazen dersler tam ihtiyacımız olan şeydir. Bunun tam olarak neden olduğunu bir sonraki derste öğreneceksiniz.
Peki ne yapılabilir?
Java'nın beşinci sürümünden başlayarak, her ilkel tür bir ikiz sınıf kazandı. Bu tür sınıfların her biri, belirli bir türde bir değere sahip tek bir alanı depolar. Bu sınıflara , sınıflardaki ilkel değerleri sardıkları için sarmalayıcı türleri denir .
İşte bu türlerin bir listesi. Hiç biliyor musun?
ilkel tip | sarmalayıcı sınıfı |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
İlkel türlerin adları küçük harfle başlar, ancak sarmalayıcı sınıfların adları büyük harfle başlar. Bazı sınıf adları da biraz daha uzundur: Integer
yerine int
ve Character
yerine char
.
Sarmalayıcı sınıfların tüm nesneleri değiştirilemez ( immutable ).
Sınıf için basitleştirilmiş kod Integer
şuna benzer:
kod | Not |
---|---|
|
Değişken Oluşturucu Yöntem bir değer döndürür Statik yöntem bir değişken Integer için yeni bir nesne oluştururint |
int
2. an'ı an'a dönüştürmeInteger
Sarıcı türleri, ilkel kardeşlerinin eşdeğerleri olarak kabul edilir: bir ilkel türe karşılık gelen bir sarmalayıcı nesneyi kolayca oluşturabilirsiniz.
İlkel türlerin karşılık gelen sarmalayıcı türleriyle nasıl etkileşime girdiğini analiz etmek için int türünü örnek olarak kullanalım. int
an'dan an'a ve tam tersi dönüştürme kodu Integer
şöyle görünür:
int
an'ı an'a dönüştürmek için Integer
şu kodu yazmanız gerekir:
Integer name = new Integer(value);
Nerede name
bir değişkenin adı Integer
ve value
sarılmış değerdir int
.
Örnekler:
kod | Not |
---|---|
|
|
|
|
|
Ve an'ı Integer
an'a dönüştürmek için int
şu kodu yazmanız gerekir:
int name = variable.intValue();
Nerede name
bir değişkenin adıdır int
ve variable
bir nesneye referanstır Integer
.
Örnekler:
kod | Not |
---|---|
|
|
|
|
|
|
|
|
3. Otomatik kutulama ve kutudan çıkarma
Ancak tiple yapılan basit işlemleri bile Integer
yazmak kolay değildir.
Daha önce de söylediğimiz gibi, Integer
tip değiştirilemez ( immutable ). Integer
Yeni bir değere sahip bir nesne oluşturmak için int
, açıkça yeni bir nesne oluşturmanız gerekir Integer
. int
Bununla birlikte, bir nesnenin içinde saklanan değeri elde etmek kolaydır Integer
- sadece intValue()
yöntemi çağırın.
Örnek:
kod | Tanım |
---|---|
|
5 Bir Integer nesneye sarın Nesneden değeri alın Yeni bir nesne oluşturun Integer ( 10'a eşit)Integer |
Bu oldukça hantal bir kod, sence de öyle değil mi?
Java'nın yaratıcıları böyle düşündüler ve derleyiciye bu işlemleri otomatik olarak nasıl yapacaklarını öğrettiler. int
an'ın an'a otomatik Integer
olarak dönüştürülmesine otomatik kutulama (değerin otomatik olarak bir kutuya yerleştirilmesi) ve ters işleme (an'ın Integer
an'a dönüştürülmesi) kutudan çıkarmaint
adı verilir .
Senin kodun | Derleyicinin gördüğü şey |
---|---|
|
|
|
|
|
|
Otomatik kutulama ve kutudan çıkarma sayesinde, int
bir Integer
değişkene güvenli bir şekilde a atayabilir ve bunun tersini de yapabilirsiniz. int
ve türleri arasında bir ayrım yapmadan herhangi bir karmaşıklıkta ifadeler yazabilirsiniz Integer
.
Örnekler:
kod | Derleyici ne üretecek |
---|---|
|
|
|
|
4. Sarma değişkenlerini karşılaştırma
Otomatik kutulama ve kutudan çıkarma basit ve şeffaf süreçlerdir. İfadeleri gerektiği gibi kullanırız ve yöntemi gerektiği gibi new Integer()
çağırırız .intValue()
Programcı olarak sizin için her şey güzel ve kolay çalışıyor. an ve an'ı karşılaştırırsanız , karşılaştırmanın değerlere değil referansa dayalı olduğunu unutmayın .Integer
Integer
kod | Konsol çıkışı |
---|---|
|
|
|
|
ve değişkenleri a
değerleri b
depolamaz int
. Nesnelere referansları saklarlar. Bu, onları doğru bir şekilde nasıl karşılaştıracağınızı hatırlamanın önemli olduğu anlamına gelir:
Yanlış | Sağ |
---|---|
|
|
GO TO FULL VERSION