При извлечении объекта нулевого указателя ошибка при просмотре поля класса - PullRequest
0 голосов
/ 28 апреля 2019

При вводе идентификатора персонала я хочу получить имя медсестры, в классе персонала могут быть указаны врачи или медсестры. Например, если идентификатор штата равен 1, это будет врач, а не медсестра, но когда я это сделаю то же самое для идентификатора медсестры возвращает ошибку нулевого указателя.

staff.getNurse().getLastName();

возвращает ошибку нулевого указателя

The get nurse command in the staff class
public Nurse getNurse() {
        return nurse;
    }

Создание посоха

 public Staff(Doctor doctor, Nurse nurse){
        this.doctor = doctor;
        this.nurse = nurse;
    }

Медсестра - это просто класс с базовыми полями, такими как имя и фамилия, в виде строк

Я хочу проверить, где находится медсестра или врач, и, если это так, получить свое имя и установить для него значение nurseDocName, а для названия своей работы - заголовок строки

Staff staff = new Staff();
//staffID is set via an input from a JTextarea
staff = sM.getStaff(staffID);
String nurseDocName = "";
String title = "Nurse ";
if(staff.getDoctor().equals(null)) nurseDocName = staff.getNurse().getLastName();
else
{
nurseDocName = staff.getDoctor().getLastName();
title = "Doctor ";
}

получить метод персонала в моем классе диспетчера сеансов


 public Staff getStaff(Integer staffID){
        Session session = factory.openSession();
        Transaction tx = null;
        Staff staff = new Staff();
        try {
            tx = session.beginTransaction();
            staff = session.get(Staff.class, staffID);
        }catch (HibernateException e){
            if(tx != null) tx.rollback();
        }
        session.close();
        return staff;
    }

Решение изменено .equals на ==

if(staff.getDoctor() == null) nurseDocName = staff.getNurse().getLastName();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...