У меня есть этот вопрос относительно generics.Can кто-нибудь объяснить мне, почему варианты 4 и 6 [я знаю об этом варианте] верны?У вас есть осложнения с картой?
Рассмотрим следующий код:
import java.util.*;
public class TestClass
{
public static void main(String[] args)
{
// put declaration here
m.put("1", new ArrayList()); //1
m.put(1, new Object()); //2
m.put(1.0, "Hello"); //3
System.out.println(m);
}
}
Как «м» быть объявлена таким образом, что приведенный выше код будет компилироваться и работать без ошибок?
Map m = new TreeMap();
Map<Object, Object> m = new TreeMap<Object, Object>();
Map<Object, ?> map = new LinkedHashMap<Object, Object>();
Map<Object, ? super ArrayList> m = new LinkedHashMap<Object, ArrayList>();
будет работать если строки // 2 и 3 // закомментировано.Map<Object, ? super ArrayList> m = new LinkedHashMap<Object, ArrayList>();
будет работать, если строки // 1 и // 3 закомментированы.Map m = new HashMap();
Варианты 1. и 2. идентичны. Можете ли вы их обновить? – vefthym
Вы пытались скомпилировать и скомпилировать себя? И в чем разница между вариантами 1 и 2? – Boris
Вариант 2 - 2.Map