Это хорошая практика, чтобы установить все поля на ноль?

1

Является ли хорошей практикой иметь все поля равными нулю и просто создавать их, когда они требуются?

public class Products {

   private Map listofProducts = null;
   private Owner owner = null;
   private List<listOfProductsResults> listofProductsResults = null;
   private String fileName = null;
   private long id = 0L;


   public Products(){
   }

Таким образом, всякий раз, когда метод нуждается в каждом из них, я делаю следующее

  if(listOfProducts == null){
      this.listOfProducts = new HashMap();
  }
Теги:

2 ответа

1
private Map listofProducts = null;

а также

private Map listOfProducts;

Являются равными утверждениями, поэтому нет. Это бессмысленно, и мне действительно не нравится внешний вид кода.

  • 4
    Как настройка myInt = null будет иметь значение там?
  • 0
    Я только что удалил пример. Я написал это очень поздно!
0

Java auto инициализирует объекты нулевым значением, но иногда явное его указание на null может быть формой документации, если ничего другого. Например, обычно можно было бы ожидать, что конструктор будет инициализировать атрибуты экземпляра. Одно свойство, явно инициализированное нулем, может сказать: "это не инициализируется в конструкторе" или "это использует ленивую инициализацию, остерегайтесь". Это может означать всегда прокси-сервер через getter или ожидать, что доступ будет защищен нулевой проверкой. Но вам следует установить такой шаблон.

  • 0
    Я вижу, это означает, что я не должен инициализировать их, но должен проверить, является ли объект нулевым или нет?
  • 0
    @ AlexCartio1 Конечно, вы должны проверять наличие нуля, а не получать исключения NullPointerExceptions, но это не подразумевается ничем, изложенным в этом ответе.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню