В коде
int targetID = BookValues.get(ID).BookID.intValue();
String targetTitle = BookValues.get(ID).Title.toString();
String targetAuthor= BookValues.get(ID).Author.toString();
int targetCopies=BookValues.get(ID).Copies.intValue();
есть несколько мест, где могут создаваться исключения.
BookValues.get(ID)
даст вам объект, если он существует, или null
, если он не существует.т.Чтобы избежать возможного NullPointerException
эта строка должна быть разбита.Далее предполагается, что значения вашей карты BookValue
объектов.
BookValue value = BookValues.get(ID);
if (value != null) {
int targetId = value.BookID.intValue();
String targetTitle = value.Title.toString();
String targetAuthor = value.Author.toString();
int copies = value.Copies.intValue();
// rest of code here
} else {
// TODO do something if there's no value in the map for the specified key
}
Обратите внимание, что таким образом, вы также избегаете повторения .get(ID)
on.
Рассмотрите также после соглашения Java-кода