Yükleniyor...

Java'da Wrapper türleri

nums adında bir ArrayList<Integer> oluşturun, nums.add(9); sonra nums.add(4); çağırın ve nums.get(0) yazdırın. Crate.java dosyasını derleyin ve java Crate çalıştırın. Ekran tek satır göstermelidir: 9. Köşeli parantezlerin içinde Integer vardır, int değil. Tam sayıları bir listede Wrapper türüyle tutmak — böylece koleksiyon nesne tutabilir — bu sayfanın öğrettiği şeydir.

Liste neden Integer ister

iterating sayfasında liste String sözcükler tutuyordu. Bir ArrayList nesne saklar. İlkel tür int bir nesne değildir. Wrapper türü Integer, bir tam sayının nesne biçimidir. Köşeli parantezlerin içinde Integer yazarsınız. add(9) çağırdığınızda Java bu sayfada ilkel 9 değerini sizin için bir Integer içine paketleyebilir. Bu sessiz boxing öğretim dosyası için yeterlidir.
Crate.java dosyasını açın. Genel sınıf adını Crate tutun ki dosya adıyla eşleşsin. Artık kalan for (String t : tags), oak ve pine eklemelerini, Lane demolarını ve kalan her HashSet veya map’i silin. Her Scanner veya nextLine çağrısını da silin. Program yazmanızı beklememelidir.
Üste yakın, public class Crate satırının üstüne yazın:
import java.util.ArrayList;
main içinde listeyi oluşturun:
ArrayList<Integer> nums = new ArrayList<Integer>();
ArrayList<int> yazmayın — javac o biçimi reddeder. Bu sayfada oluşturma satırının iki yanında da Integer tutun. Sonra tırnak olmadan iki tam sayı ekleyin:
nums.add(9);
nums.add(4);
Sonra yazın:
System.out.println(nums.get(0));
Sıfırıncı yuva 9 tutar. Derlemeden önce kaydedin.

Crate Integer list get

java
import java.util.ArrayList;

public class Crate {
    public static void main(String[] args) {
        ArrayList<Integer> nums = new ArrayList<Integer>();
        nums.add(9);
        nums.add(4);
        System.out.println(nums.get(0));
    }
}

Crate.java dosyasını tutan klasörden javac Crate.java çalıştırın. Parantezler, süslü parantezler, köşeli parantezler ve noktalı virgüller uyduğunda javac kendi satırını yazmaz. Sonra java Crate çalıştırın — java Crate.java değil, java Integer değil. Çalıştırma komutundan .java uzantısını çıkarın.
Program bir satır yazdırıp durmalıdır: 9. Sizden yazmanızı istememelidir. Terminal klavye girişi bekliyorsa, eski bir alıştırmadan kalan bir nextLine çağrısı hâlâ bir dosyadadır. O çağrıyı silin; ArrayList<Integer> oluşturmayı, iki add satırını ve System.out.println(nums.get(0)); satırını tutun.
Çalıştırmayı bir kez yürütün. Java Crate.main ile başlar. Liste iki paketlenmiş tam sayıyla büyür. get(0) çağrısı ilk Integer değerini döndürür. Yazdırma satırı 9 yazar. Ekran 9 gösterir. Başka bir şey yazdırılmamalıdır. oak veya pine görürseniz hâlâ Lane iterating demosu çalışıyordur — java Cratee geçin. 4 görürseniz yanlışlıkla get(1) yazdırmışsınızdır; öğretim dosyası için get(0) tutun. [9, 4] görürseniz sıfırıncı yuva yerine tüm liste nesnesini yazdırmışsınızdır — quiz yolu için println(nums.get(0)) tutun.
javac ArrayList<int> biçimini reddederse parantezleri Integer yapın. O hata bu dersin tür kuralının tüm noktasıdır; parantezleri düzeltip yeniden derleyin. Tırnakla nums.add("9"); yazarsanız bir String ekliyorsunuzdur ve ArrayList<Integer> için javac reddeder. Bu sayfada çıplak rakamları tutun. Import eksikse javac ArrayList bulamaz — sınıfın üstüne import java.util.ArrayList; koyun. Büyük I ile Integer yazımı önemlidir; parantezdeki integer Java’nın burada beklediği Wrapper türüyle eşleşmez.

Düz bir int’e Unbox

İkinci bir demo ilk değeri ilkel bir int değişkenine okur, sonra o değişkeni yazdırır. Java bu atamada Integer değerini sizin için açar.

Crate unbox to int

java
import java.util.ArrayList;

public class Crate {
    public static void main(String[] args) {
        ArrayList<Integer> nums = new ArrayList<Integer>();
        nums.add(9);
        nums.add(4);
        int n = nums.get(0);
        System.out.println(n);
    }
}

Aynı şekilde derleyin ve çalıştırın. Ekran hâlâ 9 gösterir. int n = nums.get(0); satırı Wrapper değerini düz bir int olarak çıkarır. Bu başlangıç yolunda intValue() çağırmanız gerekmez. İlk öğretim dosyasını doğrudan println(nums.get(0)) biçiminde tutun. Unbox dosyasını, ilkel bir değişkenin listenin Integer olarak sakladığını tutabildiğini görmek için kullanın. Yazdırma satırı kısa kalsın diye n adını gösterildiği gibi tutun. Bu ikinci dosyaya String etiketleri üzerinde for-each karıştırmayın — sayı listesi ve tek int atamasıyla kalın.

Yan yana

Kısa bir tablo tür kuralını net tutar.

📊 int vs Integer for lists

Piece On this page
list type ArrayList<Integer>
illegal ArrayList<int> — not allowed
add nums.add(9); — boxes to Integer
read nums.get(0) prints 9; may unbox to int n
Tablo yalnızca bir hatırlatmadır. Tuttuğunuz yazılan parçalar import, ArrayList<Integer>, iki add ve get(0)dir.

String listeleriyle ve yalnız ilkellerle karşılaştırma

iterating sayfasında ArrayList<String> sözcük tutuyordu. Bu hâlâ çalışır. Bu sayfa öğe türünü Integer yapar ki tam sayılar bir listede otursun. oak ve pine yazdıran kalan bir Lane for-each başka bir derstir. Bu sayfa için Crate tutun ve get(0) ile 9 yazdırın.
Yalnız bir int x = 9; hâlâ hiç liste olmadan çalışır. Koleksiyon API’si köşeli parantezde bir nesne türü istediğinde Wrapper’lar önem kazanır. Diğer Wrapper’lar aynı fikri sonra izler — double yanında Double, boolean yanında Boolean — ama bu sayfa ekranın tek net bir sayı kalması için Integer ve int tutar. Bugün her Wrapper adını ezberlemeniz gerekmez; deseni bir kez Integer ile int ve yasak ArrayList<int> biçimiyle öğrenin.
Eski Lane.java dosyaları hâlâ yakındaysa bırakın veya yalnızca hangi sınıfı çalıştırdığınızı karıştırıyorlarsa silin. Bu dersin Wrapper listesini derledikten sonra java Crate çalıştırın. Collections yolu burada ekrandaki o net 9 ile biter; kurs ardından hatalara ve dosyalara döner.

exceptions için ne kalır

Bu sayfa Collections modülünün listedeki tam sayılar için Wrapper ihtiyacını kapatır. Sonraki modül hataları exceptions ile açar. Burada bu sayfada ArrayList<Integer> ve get(0) ile kalın. Bu sayfada try veya catch zorunluluğu uydurmayın.

exceptions’tan önce

java.util.ArrayList içe aktarabilir, ArrayList<Integer> nums oluşturabilir, 9 ve 4 ekleyebilir ve nums.get(0) yazdırarak 9 görebilirsiniz. Ayrıca int n içine unbox yapabilirsiniz. Crate.java derleyin ve java Crate çalıştırın. Wrapper türü listenin tam sayı tutmasına izin verdi. Sonraki sayfa exceptions’tır; program orada sorunları bildirir ve ele alır.
Köşeli parantezde Integer tutun. Tırnaksız sayı eklemelerini tutun. Öğretim ekranı 9 için get(0) tutun. Bu üç alışkanlık ilerlemeden önceki kontrol noktasıdır. Crate.java temiz derlendikten sonra ekran Integer listesinden 9 gösterdiğinde, wrapper’lar bu dersin işini yapmıştır ve sonraki konuya hazırsınız.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

❓
5
Sorular
🎯
70%
Geçmek İçin
♾️
∞
Süre
🔄
∞
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek