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

  • kndx

    kndx

    11 Mart 2006
  • Michael Zhang

    Michael Zhan

    8 EYLÜL 2012
  • ::..ηєѕѕ мιχ..::

    ::..ηєѕѕ

    15 Aralık 2006