我从网上拿了这个例子.但是,当我尝试它不是编译说不能将对象转换为字符串
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList names = new ArrayList();
names.add("Amy");
names.add("Bob");
names.add("Chris");
names.add("Deb");
names.add("Elaine");
names.add("Frank");
names.add("Gail");
names.add("Hal");
for (String nm : names)
System.out.println((String)nm);
}
}
Run Code Online (Sandbox Code Playgroud)
如果它是循环的正常,我可以完成list.get(元素索引).toString().但是如何在增强的循环中做到?
您不应该通过调用绕过类型安全toString()- 您应该使用泛型开头:
List<String> names = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
现在您的for循环将编译(您可以摆脱System.out.println调用btw 中的强制转换),编译器将阻止您向列表中添加非字符串.
有关泛型的起点,请参阅Java泛型教程 ; 有关您希望了解的更多信息,请参阅Java泛型常见问题解答 :)
| 归档时间: |
|
| 查看次数: |
3826 次 |
| 最近记录: |