Won*_*rld 1 java generics for-loop
我有这个for循环:
for (int j = 0; j < list.size(); j++) {
System.out.print(list.get(j) + " ");
}
Run Code Online (Sandbox Code Playgroud)
该方法的签名是:
public static void addNumbers(List<? super Number> anoList)
Run Code Online (Sandbox Code Playgroud)
该列表声明为:
static List<? super Number> list2;
Run Code Online (Sandbox Code Playgroud)
要么
static List list2;
Run Code Online (Sandbox Code Playgroud)
对于这个问题.
到目前为止都很好.但随后Netbeans给出了将for循环转换为增强for循环的提示.当我申请时,我得到:
for (? super Number anoList1 : anoList) {
System.out.print(anoList1 + " ");
}
Run Code Online (Sandbox Code Playgroud)
哪个不起作用并产生大量错误.对于一个:cannot find anoList1和. expected,: expected,; expected.
我已经尝试了几个方法来摆脱错误,但没有一个是有效的.
enhanced for loop写这个的正确方法是什么?
从我读过的其他主题来看,建议不要使用根本就enhanced for loop让它保持原样.
这个增强的循环写入的正确方法是什么?
for (Object obj : anyList) {...}
Run Code Online (Sandbox Code Playgroud)
由于a List<? super Number>是可以是Number(包括Object)任何超类型的元素列表,因此我们对List的实际类型的唯一保证是Object.
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |