Невозможно привести объект типа "java.util.Map<java.lang.String,java.lang.String>" к типу "java.util.HashMap<java.lang.String,java.lang.String>".
pochemu?
Юрий
19 уровень
pochemu oshibka?
Архивный
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Артем DivertittoSenior Android-разработчи в United TechMaster
17 декабря 2018, 15:51
Можно
+2
Юрий
18 декабря 2018, 05:31
Отлично! Тогда почему компилятор выдает эту ошибку?
0
Артем DivertittoSenior Android-разработчи в United TechMaster
18 декабря 2018, 08:26
Не выдает. Если твой код не запускается, значит ты не правильно привёл. Скинь код как ты это делаешь?
0
Юрий
23 декабря 2018, 20:26
этот код прошел проверку(см ниже). но этот же код, когда форма записи была "Map<String, Cat> map = new HashMap<>();", проверку не проходил...
public class Solution {
public static void main(String[] args) {
String[] cats = new String[]{"васька", "мурка", "дымка", "рыжик", "серый", "снежок", "босс", "борис", "визя", "гарфи"};
addCatsToMap(cats);
}
public static HashMap <String, Cat> addCatsToMap(String [] cats) {
HashMap<String, Cat> map = new HashMap<>();
for (int i = 0; i < cats.length; i++) {
map.put(cats[i], new Cat(cats[i]));
}
for (Map.Entry<String, Cat> pair : map.entrySet()) {
System.out.println(pair.getKey() + " - " + pair.getValue());
}
return map;
}
public static class Cat {
String name;
public Cat(String name) {
this.name = name;
}
@Override
public String toString() {
return name != null ? name.toUpperCase() : null;
}
}
}
0
Александр Толкачёв
23 декабря 2018, 20:42решение
так у тебя четко прописано, что метод должен возвращать HashMap переменную
+2
Александр Толкачёв
23 декабря 2018, 20:44
чтобы работало так, как ты хочешь, измени тип возвращаемого значения на просто Map<String, Cat>
0