SORU
20 EKİM 2008, PAZARTESİ


Java dizi yansıma: ısarray vs örneğin

Yok kullanma arasında tercih veya davranış fark:

if(obj.getClass().isArray()) {}

ve

if(obj instanceof Object[]) {}

?

CEVAP
20 EKİM 2008, PAZARTESİ


Genel olarak, instanceof operatörü bir nesneyi bir dizi olup olmadığını test etmek için kullanın.

JVM düzeyinde, instanceof operatör en JVM uygulamalarında son derece optimize edilmiş "instanceof" bayt belirli bir koda çevirir.

Yansıtıcı yaklaşım (getClass().isArray()) "invokevirtual" iki ayrı talimatlar için derlendi. Genel iyileştirmeler JVM tarafından uygulanan bu el ayarlı iyileştirmeleri kadar hızlı olmayabilir daha fazla doğal "" talimat. örneğin içinde

İki özel durum vardır: ilkel diziler için boş başvuruları ve başvurular.

Boş bir başvuru instanceof isArray NullPointerException atar false, neden olabilir.

İlkel bir dizi instanceof uygulanan sonuçları false ama isArray döner true.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ChrisCrossMedia

    ChrisCrossMe

    17 EYLÜL 2009
  • justintimberlakeVEVO

    justintimber

    2 EYLÜL 2009
  • skiesofblack.net

    skiesofblack

    14 HAZİRAN 2009