【发布时间】:2018-06-28 20:17:51
【问题描述】:
假设我在下面有这个课程:
public class Player{
}
我可以像这样创建它的一个新实例:
Player someone = new Player();
现在我有一个 .txt 文件,其中每一行都可以作为潜在玩家:
乔治
乔尔
凯特
...
我可以读取这些行并将它们分配给这样的字符串:
字符串名称 = "乔治";
如何创建一个名为“george”的新播放器?例如,我想在下面创建“george”。
Player name.toClassName = new Player();
我找到的一个解决方案是:
if(name == "george"){
Player george = new Player();
}
if(name == "joel"){
Player joel = new Player();
}
if(name == "kate"){
Player kate = new Player();
} ...
但是上面的这个看起来很愚蠢。 (顺便说一下,我在 Player 类中已经有一个 private name;,我在创建实例后将这些字符串分配给它们,我可以获取和设置它们等. 但这不是我想在这里操作的。我只是对你能以这种方式创建新实例感兴趣。
【问题讨论】:
-
创建一个名为
public Player(String name){this.name = name;}的构造函数然后你可以创建Player george = new Player("george");... -
你应该使用
HashMap。 -
这样做有什么好处?你怎么能用你还不知道的名字来调用变量呢?
-
你不想要这个。变量名称可以让您在代码中引用它。它不需要(也不应该)反映用户输入。
标签: java string class object instance