Я возился со списками и добрался до этого кода (его часть основного):
List l1 = new ArrayList<Object>();
List l2 = new ArrayList<String>();
Object t = "a";
l1.add("a");
l2.add(t);
System.out.println(l1.equals(l2));
System.out.println(l2.get(0));
Динамический тип l2 — ArrayList(type:String) , но мне удалось добавить к нему объект. Более того, сказано, что списки равны. Я подумал, что, может быть, он каким-то образом передает его в String, но потом попробовал:
Object t = 9;
И это все еще работало. Почти уверен, что это как-то связано с тем, что список является необработанным типом, но все же я не могу понять, как я могу добавить объект в ArrayList (тип: String). Заранее спасибо.