Как String привести к List,и как передать значения из main в объект другого класса?

Как написать,чтобы хобби из String приводились к List и выводились без запятой с новой строки? И как переопределить метод toString?

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        System.out.println("Введите имя: ");
        String name = scan.nextLine();
        System.out.println("Введите логин: ");
        String login = scan.nextLine();
        System.out.println("Введите возраст: ");
        byte age = scan.nextByte();
        System.out.println("Введите хобби через запятую");
        String hobby = scan.nextLine();



        User user = new User(name,login,age,hobby);

        try {
            FileOutputStream fos = new FileOutputStream("some.data");
            ObjectOutputStream oos = new ObjectOutputStream(fos);


            oos.writeObject(user);

            oos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        try {
            FileInputStream fis = new FileInputStream("some.data");
            ObjectInputStream ois = new ObjectInputStream(fis);
            User user1 = (User) ois.readObject();
            System.out.println(user1);


            ois.close();
        }
        catch(IOException e) {
            e.printStackTrace();
        }
        catch(ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}
public class User{
    String name;
    String login;
    byte age;
    String hobby;

    User(){}

    User(String name,String login,byte age, List<String> hobby){
        this.name = name;
        this.login = login;
        this.age = age;
        this.hobby = hobby;


    }
        String[] hobbyArr = hobby.split(",");
        for(String a : hobbyArr)
            System.out.println(a);//не работает

    public String toString(){
        
    }
}

Ответы (1 шт):

Автор решения: Uladzislau Melnikau

Реализовать toString() можно следующим образом

    @Override
    public String toString() {
    return  getClass().getSimpleName() + 
            "{" +
            "name='" + name + '\'' +
            ", login='" + login + '\'' +
            ", age=" + age +
            ", hobby='" + hobby + '\'' +
            '}';
    }

Возвращает строковое представление объекта. В результате должно получиться краткое, но информативное представление, легко читаемое человеком. Рекомендуется, чтобы все подклассы переопределяли этот метод.

Перевод хобби в List

    List<String> hobbies = new ArrayList<>(Arrays.asList(hobby.split(",")));
→ Ссылка