【问题标题】:Java: Creating a by a String named ObjectJava:由名为 Object 的字符串创建
【发布时间】:2015-09-05 16:29:14
【问题描述】:

我想制作一些对象,然后将它们添加到 HastMap。我不想手动命名所有这些对象,所以我会在 for 循环中进行。有什么办法可以解决吗?

【问题讨论】:

  • 你能把你的问题说得更清楚吗?
  • 我想做一个随机命名的对象
  • 为什么不生成随机字符串
  • 如何从字符串中创建对象?
  • 随机对象是什么意思?比如第一个可能是class A 第二个是class B 等等?

标签: java object


【解决方案1】:

您要查找的内容称为“变量变量”。 Java 不支持这些,但某些语言like PHP 支持。但是,您可以使用生成的键创建对象的 HashMap,如下所示:

Map<String, Object> map = new HashMap<String, Object>;
// makes a HashMap of strings to objects;
// if you want to use something else for the keys,
// you can change the first type name between the <>

map.put("key", object);
//adds an object to the HashMap for the key "key"

然后像这样从地图中取回对象:

map.get("key");
//will return object

如果您想在 for 循环中执行此操作,您可以执行以下操作:

Map<String, Object> map = new HashMap<String, Object>;
String[] keys = {"foo", "bar", "food", "bard", "fooley", "barley"};
for(int i = 0; i < keys.length; i++) {
    map.put(keys[i], myObject);
}

This answer 是一种随机生成这些字符串的方法。

【讨论】:

    猜你喜欢
    • 2021-06-01
    • 1970-01-01
    • 2023-04-11
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    • 2014-11-22
    • 2014-09-14
    相关资源
    最近更新 更多