Новый экземпляр класса из строки

Допустим у нас есть строка Ivan Minaleev 12.03.2020 eample.com vk.com/elad, как ее преобразовать в новый экземпляр класса,чтобы получился новый экземпляр с полями из данной строки?

Класс:

package com.example.MVCLab3;

import java.util.Objects;

public class User {
    private String Name;
    private String Surname;
    private String Date;
    private String Email;
    private String Socials;

    public User(String name, String surname, String date, String email, String socials) {
        Name = name;
        Surname = surname;
        Date = date;
        Email = email;
        Socials = socials;
    }

    public String getName() {
        return Name;
    }

    public void setName(String name) {
        Name = name;
    }

    public String getSurname() {
        return Surname;
    }

    public void setSurname(String surname) {
        Surname = surname;
    }

    public String getDate() {
        return Date;
    }

    public void setDate(String date) {
        Date = date;
    }

    public String getEmail() {
        return Email;
    }

    public void setEmail(String email) {
        Email = email;
    }

    public String getSocials() {
        return Socials;
    }

    public void setSocials(String socials) {
        Socials = socials;
    }

    @Override
    public String toString() {
        return Name + " " + Surname + " "+ Date + " "+ Email + " "+ Socials +"\n";
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof User)) return false;
        User user = (User) o;
        return getName().equals(user.getName()) && getSurname().equals(user.getSurname()) && getDate().equals(user.getDate())
                && getEmail().equals(user.getEmail()) && getSocials().equals(user.getSocials());
    }

    @Override
    public int hashCode() {
        return Objects.hash(getName(), getSurname(), getDate(), getEmail(), getSocials());
    }
}


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

Автор решения: rhino_rus

Если строка всегда имеет один и тот же формат, то её можно разбить на отдельные значения по определенному принципу и передать полученные значения в конструктор класса.

Пример:

String input = "Ivan Minaleev 12.03.2020 eample.com vk.com/elad";
String[] values = input.split("[ ]+");

User user = new User(
    values[0], // Name
    values[1], // Surname
    values[2], // Date
    values[3], // email
    values[4] //socuals
);
→ Ссылка