我的问题类似于:
Creating a variable name using a String value .
但我希望从不同的角度来看待它。
想要为每个对象命名的原因是我可以稍后具体调用,并使用相同的语句创建多个对象。理想情况下,这就是我想要的工作。
String dogName = reader.nextLine();
int legs = reader.nextInt();
char beenFed = reader.nextChar();
new dogName = dog(dogName, legs, fed) `
我知道 java 不能接受变量作为对象名。但是假设我想创建三只狗,“Red”、“Blue”和“Jeff”,我该如何配置它,以便稍后用户可以输入
Red.getLegCount();
Blue.hasBeenFed();
等等
我还能如何创建此场景?如果我想制作许多不同名称的 Dog 对象,我该怎么做?如果这不是一个好主意,我能做些什么呢?
PS - Stack Overflow 上的第一篇文章。请指导礼仪/格式。
最佳答案
你为什么不使用 HashMap
?您基本上需要的是一组键值对。这正是 HashMap 所做的。一个很好的开始链接:
http://tutorialswithexamples.com/java-map-and-hashmap-tutorial-with-examples/
让你的Dog
具有 dogName、legs、beenFed 和其他属性的类。
接下来,定义一个 HashMap<String,Dog>
key 为 dogName
和狗是整个Dog
具有所有属性的对象。例如
Dog red = new Dog("red",5,true);
hashmap.put(red.dogName, red);
稍后如果你想访问 Dog 对象,执行 olddog = hashmap.get("red").
现在,您可以做任何事情 - olddog.getLegs()
...
关于java - 使用可变字符串命名对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16128021/