Как превратить строку в ссылку на объект?

Как предвестник этого вопроса, я немного новичок в Java, поэтому, пожалуйста, потерпите меня.

Я сейчас пытаюсь создать систему учетных записей, и кажется, что автоматизировать процесс идентификации учетных записей сложнее, чем предполагалось ранее. Я хочу иметь возможность настраивать идентификаторы пользователей для каждой ссылки на отдельный объект, чтобы к ним было легко получить доступ, подсчитать количество пользователей, отредактировать значения в объекте и т. Д.

Я в основном хочу:

int accountsMade = 1;

userAccount (A1) = новый userAccount (другой ввод);

И тогда в следующий раз, когда пользователь зарегистрирует учетную запись, ссылка на объект будет:

userAccount (A2) = новый userAccount (другой ввод);

Есть ли способ автоматизировать эту систему? Кажется, что есть, но я не могу понять это.

1 ответ

То, что вы хотели бы сделать, это создать и сохранить ссылку на объект HashMap. Это пары ключ-значение, в которых предоставление ключа (в данном случае ID пользователя, предоставленного пользователем) позволяет вам получить значение (в данном случае объект учетной записи пользователя) очень быстро и эффективно.

Фактическая подпись HashMap, которую вы хотите использовать, будет Map.

Вот текущая документация по HashMap: http://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html.

Тем не менее, я думаю, что есть довольно существенная проблема с дизайном, который вы строите прямо сейчас, и это то, что вы создаете новый объект userAccount каждый раз, когда получаете ввод. Концепция учетной записи предполагает некоторую преемственность - сохраненные данные, пароли и т. Д. Верно? GMail не создает новую учетную запись для вас каждый раз, когда вы входите в систему.

Таким образом, вам нужно где-то хранить эти данные, так или иначе. Вы можете использовать внешнюю базу данных, такую ​​как SQL, или, если вы на 100% уверены, что ваши прецеденты и пользовательская база никогда не изменятся, вы можете просто жестко закодировать объекты учетной записи в свой прототип и проверить попытки входа пользователя по ключам. в HashMap. В любом случае, я не уверен, что для ваших целей будет работать создание объекта userAccount при входе пользователя в систему.

Другие вопросы по тегам