@Eban

Не могу вернуть из метода массив?

Объясните, как вернуть из метода массив, подставляю все что угодно в большинстве случает пишет cannot convert from String to String[]
задание звучит так: В классе UserRepository напишите метод:
getUserNames() - для получения массива имен пользователей
код:
<b>public class User</b> {
	private String name;

        public User(String name) {
		this.name = name;

        public String getName() {
		return name;
	}

<b>public class UserRepository</b>{
          User[] users;

         public UserRepository(User[] users) {
		this.users = users;
	}
	
	public User[] getUsers() {
		return users;
	}
	
	public String[] getUserNames() {
		for(User user: users) {
			user.getName();
		} // здесь нужно вернуть все имена юзеров - массив помогите!!!
		return user.getName; // пробовал return users; User.Name; (String[]) user.getName
		
	}
  • Вопрос задан
  • 211 просмотров
Решения вопроса 2
xez
@xez Куратор тега Java
TL Junior Roo
public String[] getUserNames() {
            return Stream.of(users).map(User::getName).toArray(String[]::new);
        }


P.s.: лучше использовать List, вместо array
Ответ написан
Комментировать
@Cheypnow
Надо преобразовать массив юзеров в массив их имен:
1. Создать новый массив такого же размера.
2. Заполнить его именами юзеров.
String[] names = new String[users.length];
for (int i = 0; i < users.length; i++) {
   names[i] = users[i].getName();
}
return names;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы