Set<String> keys = mappings.keySet();
String[] keyArray = (String[]) keys.toArray();
String hashmapDetails = "";
for(int p=0; p < keyArray.length; p++){
String[] details = keyArray[p].split("/");
hashmapDetails += details[1];
hashmapDetails += mappings.get(keyArray[p]);
if (p != keyArray.length -1){
hashmapDetails += ";";
}
}
Wybacz mój brak zrozumienia, ale próbuję zbadać użycie hashmap. Rozumiem, że funkcja toArray() zwraca obiekt []. Jednak nie jest możliwe, aby wpisać go do String []? Jak widać w kodach, później muszę przejść przez tablicę i wykonać kilka operacji dzielenia i innych operacji na Stringach.przekonwertować obiekt [] z zestawu kluczy hashmap na ciąg []?
Robiąc to mam błąd:
java.lang.ClassCastException: java.lang.Object[] cannot be cast to java.lang.String[]
Wszelkie wskazówki, w jaki sposób powinien uporać się z tym jest bardzo ceniona. Dzięki!
Dzięki za pomoc! Pierwsze rozwiązanie z ogólną wersją toArray było wystarczająco dobre dla mnie, dziękuję! =) – lyk
Wersja 'toArray (new String [0])' jest zdecydowanie do zrobienia. Jest zwięzły i wyraża dokładnie to, co robisz. – NRitH
@NRitH możliwe, ale tworzy niepotrzebny obiekt, więc wolę wersję "wielkości". – assylias