Java 使字符串输入成为对象实例

Java 使字符串输入成为对象实例,java,variables,methods,java.util.scanner,instance,Java,Variables,Methods,Java.util.scanner,Instance,user1在一个User类下,我正在研究如何使用Scanner获取用户输入。所以当使用扫描器询问username时,比如user2,它可以用来调用user2.subscribe 已使用扫描仪字符串输入,但无法转换为对象 user1.subscribe(); 类型不匹配:无法从字符串转换为用户 因此,用户被添加如下 User userID; Scanner input = new Scanner(System.in); userID = input.next(); 在main方法中,我可以调用

user1在一个User类下,我正在研究如何使用Scanner获取用户输入。所以当使用扫描器询问username时,比如user2,它可以用来调用user2.subscribe

已使用扫描仪字符串输入,但无法转换为对象

user1.subscribe();
类型不匹配:无法从字符串转换为用户

因此,用户被添加如下

User userID;
Scanner input = new Scanner(System.in);
userID = input.next();
在main方法中,我可以调用user1.subscribe来订阅用户。我试图请求一个输入,比如user2,它将调用user2.subscribe

扫描器会询问想要订阅的用户的用户名。

扫描器的下一个方法实际上只会生成字符串值。如果您想创建一个新的用户实例,您必须以某种方式手动将该字符串值转换为用户

也许用户有一个使用名称的构造函数

User user1 = new User("user1", "James Smith", "915661829");

您必须创建字段以接受来自命令行的输入。像这样的

String username = input.next();
User userID = new User(username);
然后接受字段中的输入,在填充对象之前需要实例化对象

class User {
    private String id;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Override
    public String toString() {
        return "User{" +
                "id='" + id + '\'' +
                '}';
    }
}

用户1在用户类下是什么意思?无论如何,您的问题的解决方案很可能是使用映射作为映射,将字符串映射到用户实例。您可以使用Scanner收集信息。它可以读取字符串、int等。在收集相关信息后,您可以用正确的信息实例化用户。用户可能不仅仅是用户名。用户已经创建。如果可能的话,我想看看如何将字符串转换为对象。我假设您有一些用户集合。您需要定义一种搜索正确用户的方法,然后在找到用户时调用.subscribe。
User userID = new User();
Scanner input = new Scanner(System.in);
userID.setId(input.next());
System.out.println("User object : " + userID);