我的程序中有一個問題,我的程序中允許一個Student類1本書,它必須存儲在一個變量_book中,但我似乎無法找到一種方法來檢查如果一個對象已經被實例化或沒有得到運行時錯誤。檢查一個對象是否已經在Java中實例化
我試圖
- 比較變量爲null
- 訪問來檢查,如果變量爲空
- 訪問來檢查,如果變量是0 可變內的函數的變量內的功能
Simplified Code:
研究生班
public class Student {
private String _name;
private Library _collegeLibrary;
private LibraryCard _card;
private TextBook _book;
public Student(String name, Library library) {
_name = name;
_collegeLibrary = library;
System.out.println("[Student] Name: " + _name);
}
public void describe() {
String message;
message = "[Student] " + _name;
if (_book.returnTitle() == null) // returns java.lang.NullPointerException
message += " does not have a book";
else {
message += " is borrowing the book \"" + _book.returnTitle() + "\"";
}
System.out.println(message);
}
}
教材類
public class TextBook {
String _title;
public TextBook(String title) {
_title = title;
}
public String returnTitle() {
return _title;
}
}
上面的代碼將會給我一個java.lang.NullPointerException
。我研究了捕獲錯誤,但它似乎並不是建議的。
對不起,但它的絕對不可能的,所示的代碼將給出一個NullPointerException。 –
@ClausBönnhoff爲什麼呢? –
我假設你的真實代碼中的if語句之後有一個左括號? – Raven