java - 使 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()。
扫描器会询问想要订阅的用户的用户名。
解决方案
Scanner 的next()
方法确实只会产生 String 值。如果要创建一个新的 User 实例,则必须以某种方式手动将该 String 值转换为 User 。
也许 User 有一个带有名字的构造函数?
String username = input.next();
User userID = new User(username);
推荐阅读
- ruby-on-rails - 如何获取活动存储视频附件的持续时间?
- security - 将多部分表单数据(POST)发送到多部分表单数据(GET)的任何方式
- batch-file - 如何拖放多个文件?
- c# - SignalR 服务器自主机
- user-interface - Delphi:如何将 VCL 表单嵌入到面板中
- python - 当方法可以接受各种类型的数据时,单一责任原则?
- swift - TableView 在 Swift 和 Xcode 中的 Modal Segue 之后重新加载数据
- flutter - 如何在颤振中添加整数作为 TextFormField 的默认/初始值?
- excel - 如何在excel的五列中列出所有可能的值组合?
- php - 在 XPath 中使用 OR 运算符