SORU
24 Mart 2010, ÇARŞAMBA


Neden Java Koleksiyonları doğrudan İlkel türleri deposu değil mi?

Java koleksiyonlar deposu Nesneler, ilkel türleri; ancak sarıcı sınıflar saklayabilirsiniz.

Neden bu kısıtlama?

CEVAP
24 Mart 2010, ÇARŞAMBA


Java tasarım bir karar, ve bazı bir hata olduğunu düşün. Kaplar istiyorum Nesneleri ve ilkel Nesne türetmek yok.

Bu tek bir yerde .NET tasarımcılar boks gibi JVM ve hayata değer türleri ve jenerik öğrendim birçok durumda ortadan kalkar. CLR, genel bir kapsayıcı alttaki kabın yapısının bir parçası olarak değer türleri saklayabilirsiniz.

Java genel destek eklemek için JVM desteği olmadan derleyici 100% tercih etti. JVM ne olmak, "non-nesne" nesne. bir destek yok Java jenerik sen sarıcı yok gibi davranmak için izin, ama yine de boks performans fiyat ödemek. Bu programlar belirli sınıflar için ÖNEMLİDİR.

Boks teknik bir uzlaşma ve uygulama detay diline sızıntı olduğunu hissediyorum. Autoboxing güzel sözdizimsel şekerdir, ama hala bir başarım. Eğer bir şey, autoboxes zaman derleyici beni uyarmak istiyorum. (Bildiğim kadarıyla, şimdi, 2010 yılında bu cevap yazdım).

Boks hakkında ÇOK iyi bir açıklama: Why do some languages need Boxing and Unboxing?

Ve Java jenerik eleştiri: Why do some claim that Java's implementation of generics is bad?

Java savunması kolay geriye bakmak ve eleştirmek için. JVM zaman test dayanmış olan ve pek çok bakımdan iyi bir tasarım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Vivona

    Ben Vivona

    24 Ocak 2010
  • Bigapplemagic

    Bigapplemagi

    22 EYLÜL 2011
  • Jay Will

    Jay Will

    19 NİSAN 2006