Ссылка NullReferenceException или Object, не установленная на экземпляр объекта, возникает, когда объект класса, который вы пытаетесь использовать, не создается. Например:
Предположим, что у вас есть класс с именем Student.
public class Student
{
private string FirstName;
private string LastName;
public string GetFullName()
{
return FirstName + LastName;
}
}
Теперь рассмотрим другой класс, в котором вы пытаетесь получить полное имя учащегося.
public class StudentInfo
{
public string GetStudentName()
{
Student s;
string fullname = s.GetFullName();
return fullname;
}
}
Как видно из вышеприведенного кода, оператор Student s - объявляет только переменную типа Student, обратите внимание, что класс Student не создается в этой точке. Следовательно, когда выполняется выполнение инструкции s.GetFullName (), она выкинет исключение NullReferenceException.
Вы можете передать уровень доступа в аннотации @Getter
и @Setter
. Это полезно для защиты или защиты получателей или сеттеров. Его также можно использовать для переопределения по умолчанию.
С помощью @Data
вы по умолчанию открываете доступ к аксессуарам. Теперь вы можете использовать специальный уровень доступа NONE
, чтобы полностью опустить аксессор, например:
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;
Согласно @Data description вы можете использовать:
Все созданные геттеры и сеттеры будут общедоступными. Чтобы переопределить уровень доступа, аннотируйте поле или класс с явной аннотацией @Setter и / или @Getter. Вы также можете использовать эту аннотацию (объединив ее с AccessLevel.NONE), чтобы подавить генератор и / или сеттер вообще.
blockquote>