List content = new LinkedList(10); content.add(0, "Fred"); content.add(1, "Barney"); String name = content.get(0);
becomes:
List content = new LinkedList(10); content[0] = "Fred"; content[1] = "Barney"; String name = content[0];
List content = new LinkedList(10); content.add(0, "Fred"); content.add(1, "Barney"); content.add(1, "Wilma"); content.add(1, "Betty");
becomes:
LinkedList content = {"Fred", "Barney", "Wilma", "Betty"};
Bad: locks in concrete types
Compiler magic only; no VM changes
Does not change the meaning of any existing code