Java'da bir null
başvurusunda neden referans oluşturulmasının bir nedeni var mı? bu muhtemelen doğru asla ama daha sonra bulmak zor hatalara neden olabilir yapmak:Bir null başvuruda bir yöntem başvurusu oluşturma bir istisna atar
public class Test {
void m() {
}
public static void main(String[] args) {
Test test = null;
Runnable fn = test::m; // no exception
System.out.println(fn); // prints Test$$Lambda$1/[email protected]
fn.run(); // throws a null pointer exception
}
}
Eclipse ile test ediyorsunuz? JDK 1.8.0_51 ile test ettim ve beklendiği yerde NPE'yi atar. Bu muhtemelen şu soruyu yanıtlar: http://stackoverflow.com/questions/37413106/thread-setuncaughtexceptionhandler-and-java-8-method-reference/. Çünkü bir NPE'yi Runnable fn = test :: m'de atmalıdır. – Tunaki
Bu soruyu konu dışı olarak kapatmaya oy veriyorum çünkü mevcut olmayan davranışları soruyor. –
@Tunaki evet Eclipse'de test ettim ve son satır – Michael