首页 > 解决方案 > 使 String 输入成为对象实例

问题描述

user1.subscribe();

user1 在 User 类下,我正在研究如何使用 Scanner 获取用户输入。因此,当使用 Scanner 询问用户名时,如 user2,可用于调用 user2.subscribe();

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

User userID;
Scanner input = new Scanner(System.in);
userID = input.next();

类型不匹配:无法从字符串转换为用户

因此用户已添加如下

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

在 main 方法中,我可以调用 user1.subscribe() 来订阅用户。我正在尝试要求输入,例如“user2”,它将调用 user2.subscribe()。

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

标签: javavariablesmethodsjava.util.scannerinstance

解决方案


Scanner 的next()方法确实只会产生 String 值。如果要创建一个新的 User 实例,则必须以某种方式手动将该 String 值转换为 User 。

也许 User 有一个带有名字的构造函数?

String username = input.next();
User userID = new User(username);

推荐阅读