Java: ООП, Конструкторы

194
09 марта 2018, 14:47

Не знаю как точно сформулировать вопрос в гугл, и где искать ответ. Есть класс Nclass и есть HashMap (вне этого класса) в котором ключ это поле name класса Nclass, а значение сам экземпляр класса.
Так вот, как в конструкторе класса при инициализации всех полей, добавить этот новоиспеченный экземпляр в этот хешмэп? что бы не делать это каждый раз вручную.
Как правильно сделать конструктор

public Nclass(тратата) {
    ...
    ...
    hashMap.put(name, себя же);
}
Answer 1

Если делать как Вы хотите, то код будет следующим:

public class(String name) {
    hashMap.put(name, this);
}

Но, делать так я бы крайне не советовал. Потому что получиться следующая ситуация: hashMap создаете в одном месте (вне этого класса), а используете в другом (вам еще нужно будет получить доступ к hashMap). Поэтому, я думаю, лучше поступить следующим образом:

Map<...> hashMap = new HashMap<>();
//...
Nclass o = new Nclass();
hashMap.put(o.getName(), o);
//...
READ ALSO
jQuery не удается отменить отправку формы

jQuery не удается отменить отправку формы

На пустой странице есть формаМоя задача - выполнить свой код вместо отправки этой формы

192
Перписать скрипт с Jquery на Vanila

Перписать скрипт с Jquery на Vanila

Имеется скрипт манипуляции атрибутом на jqueryНужно переписать на js

190
Помогите с расширением

Помогите с расширением

Мне надо написать расширение которое изменяет высоту строки на сайтахЯ сделал слайдер на jquery ui, но вот как мне сделать чтоб это значение применялось...

158