Как преобразовать массив объектов в массив строк? - PullRequest
0 голосов
/ 11 ноября 2011

Я изменил 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];
      }

Ответы [ 3 ]

0 голосов
/ 11 ноября 2011

Предполагая, что "error" - это ArrayIndexOutOfBoundsException ", вам нужно выделить массивы, прежде чем добавлять к ним что-либо. Есть также другой метод toArray, который может помочь:

String[] types = typehashmap.values().toArray(new String[typehashmap.size()]);
0 голосов
/ 22 апреля 2013

Это может быть ошибка компилятора! Вы не инициализируете массив типов и массив имен, прежде чем использовать их. И метод первого этажа - хороший способ решения проблемы.

0 голосов
/ 11 ноября 2011

Просто используйте HashMap.values ​​(). ToArray (), например:

String[] names = namehashmap.values().ToArray(new String[namehashmap.size()]);
String[] types = typehashmap.values().ToArray(new String[typehashmap.size()]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...