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
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'.
Nasıl olursa çarparak iki sayı Java ta...
Neden char[] şifreler için Dize Java t...
Neden belirli Unicode karakterler içer...
Nasıl Java iki dizi bir arada olabilir...
Neden ve'boş ve tanımsız arasında...