SORU
10 Temmuz 2013, ÇARŞAMBA


Neden Java null atabilir miyim?

Bu çalışırken:

public class WhatTheShoot {

    public static void main(String args[]){
        try {
            throw null;
        } catch (Exception e){
            System.out.println(e instanceof NullPointerException);
            System.out.println(e instanceof FileNotFoundException);
        }
    }
}

Cevap:

true  
false

Benim için oldukça çarpıcı oldu. Bu net bir derleme zamanı hatası beklerdim.

Neden Java boş atmak, ve neden bir NullPointerException için upcast?

(Aslında, bu "upcast", atıyorum belirli null) . yüzme bilmiyorum

Gerçekten salakça bir soru röportaj (kimse bir röportajda şu soruyu sor lütfen) dışında edemem throw null için herhangi bir neden göremiyorum. Belki de kovulmak mı istiyorsun, ama bu... neden başka kimse throw null yani?

Eğlenceli aslındaIntelliJ IDEA 12 hattımı, e instanceof NullPointerException, her zaman yanlış olacağını söyledi. Hiç doğru değil.

CEVAP
10 Temmuz 2013, ÇARŞAMBA


null ** 8, ama 9 ** çalışırken hareket edilir değil gibi görünüyorkendisiatar bir NullPointerException.

Diğer bir deyişle, throw bağımsız değişken null olmayan ve null olup olmadığını kontrol eder, NullPointerException atar.

İDEA 14.18 specifies Bu davranış:

İfade değerlendirme normalde, boş değer üreten tamamlandıktan sonra bir örnek V' sınıf NullPointerException ve boş yerine oluşturuldu. Atmak deyimi sonra aniden, nedeni değeri ile at V olmak tamamlar'.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DJPixcell

    DJPixcell

    20 NİSAN 2007
  • Eric Anthony

    Eric Anthony

    13 AĞUSTOS 2011
  • MrOctopi

    MrOctopi

    6 Aralık 2010