我的程序中有一个问题,我的程序中允许一个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