Мотлин ответил правильно.
У меня есть две заметки ...
Не используйте toString += ...
, а используйте StringBuilder
и добавляйте к нему данные.
Состав, предложенный Мартином, выдаст вам непроверенное предупреждение, от которого вы не сможете избавиться, потому что это действительно небезопасно.
Другой способ, без предупреждения (и с StringBuilder):
private String dataToString(){
Map<?, ?> data = (Map<?, ?>) getData();
StringBuilder toString = new StringBuilder();
for (Object key: data.keySet()) {
toString.append(key.toString());
toString.append(": ");
toString.append(data.get(key));
}
return toString.toString();
}
Это работает, потому что метод toString, который вы вызываете для key
, определен в классе Object, поэтому вам вообще не нужно приводить.
Использование entrySet
- еще лучший способ, так как не нужно делать еще один поиск на карте.