【问题标题】:how to convert object array to string array?如何将对象数组转换为字符串数组?
【发布时间】:2011-12-27 00:32:30
【问题描述】:

我已将 hashmap 更改为集合,将集合更改为对象,现在我需要将对象更改为 String。无论是这种方式还是比这更好的方式都会非常明显。

Collection<String> t;
        Collection<String> n;
        String[] names;
        String[] types;
        Object[] foo;
        Object[] doo;
  HashMap<Integer, String> typehashmap=new HashMap<Integer, String>();
           HashMap<Integer, String> namehashmap=new HashMap<Integer, String>();

      t= typehashmap.values();
      n= namehashmap.values();

        foo=t.toArray();
        doo=n.toArray();
      for(int i=0;i<t.size();i++){
 error-->           types[i]=(String) foo[i];
  error-->               names[i]=(String) doo[i];
      }

【问题讨论】:

  • 如果您还用它所指的编程语言标记您的问题,那将非常有帮助。也许你应该告诉我们代码有什么问题;-)
  • 运行时错误或编译器错误?

标签: object collections hashmap


【解决方案1】:

假设“错误”是 ArrayIndexOutOfBoundsException”,您需要先分配数组,然后再向它们添加任何内容。还有另一个 toArray 方法可以提供帮助:

String[] types = typehashmap.values().toArray(new String[typehashmap.size()]);

【讨论】:

  • 我之前也尝试过,可能是我在某个地方错了。非常感谢。
【解决方案2】:

只需使用 HashMap.values().toArray() 例如:

String[] names = namehashmap.values().ToArray(new String[namehashmap.size()]);
String[] types = typehashmap.values().ToArray(new String[typehashmap.size()]);

【讨论】:

  • 这将产生对象数组。仍然存在相同的问题。如何将对象数组转换为字符串数组
  • 我已经完成了这种方法。得到编译时错误。在上面提到的行中。甚至尝试过强制转换
【解决方案3】:

可能是编译器错误!在使用类型数组和名称数组之前,您不会对其进行初始化。而一楼的方法是解决问题的好方法。

【讨论】:

    猜你喜欢
    • 2022-10-07
    • 2023-03-28
    • 2021-05-09
    • 1970-01-01
    • 2020-07-15
    相关资源
    最近更新 更多