Я хочу проверить, когда я зарегистрирую нового пользователя, если имя пользователя уже используется, поэтому у меня есть класс с Vector<Users>
, где я сохраняю всех своих пользователей с их параметрами. Но когда я использую свою функцию usernameExist(String nuovo)
, которая сравнивает только первое имя пользователя в списке со строкой, которую я вставил. Я также внедрил интерфейс Serializable
, чтобы каждый раз загружать список пользователей, но он работает правильно. Если я использую Iterator для чтения всего списка, у меня нет проблем, но каждая функция, которая использует цикл for-each, не работает.Java Почему это для каждого цикла не работает?
//Constructor
public UsersList()
{
list = new Vector<User>();
}
//The method i use to check if the username exist
public boolean usernameExist(String nuovo)
{
for(User user : lista)
{
return user.matchUsername(nuovo);
}
return false;
}
//In the class User
//Constructor of User
public User(String nome, String cognome, String email, String username, String password)
{
//Variable initialization
}
public boolean matchUsername(String inserted)
{
return username.equalsIgnoreCase(inserted);
}
Это делает меня сумасшедшим: D, благодарю вас за помощь!
Как почти всегда, вы можете понять, как работает этот код, перешагнув его в отладчике. Использование отладчика не является передовым навыком, это фундаментальный навык, который следует изучить и использовать как можно скорее. –
Часто, когда вы используете новый пакет или технику, может показаться, что эта новая техника должна быть причиной вашей проблемы, когда вы часто забыли что-то гораздо более основное, чем использование инструкции 'if'. т. е. это не имеет никакого отношения к сериализации. –
@ T.J.Crowder Я думаю, что ОП неправильно предположил, что это как-то связано с сериализацией, но не могло видеть, как (потому что это не так). Обычно я предлагаю, чтобы OP использовал отладчик, но OP описал, что вы могли видеть в отладчике в любом случае. Отладчик не скажет вам, как писать код. ;) –