JDK1.7-Quellcode lautet wie folgt:
public static void swap(List<?> list, int i, int j) {
final List l = list;
l.set(i, l.set(j, l.get(i)));
}
Was bedeutet dieser Satzfinal List l = list? Wäre es nicht dasselbe, wenn Sie die übergebene Liste direkt manipulieren würden?
Ich bin ein Neuling im Selbstlernen von Java, wenn ich das sehe. Ich hoffe, die Senioren können mir helfen, meine Verwirrung zu klären.
试一下:
编译错误:
因为
list
的类型是List<?>
,不知道具体的类型,所以只能从列表里取出一Object,不能往列表插入。所以转成List。
或者换成
List<T>
: