gpt4 book ai didi

java : Inside Enhanced for loop cannot Object to String

转载 作者:行者123 更新时间:2023-11-29 06:42:27 25 4
gpt4 key购买 nike

我从 net 中获取了这个例子。但是当我尝试时它没有编译说不能将对象转换为字符串

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);

}
}

如果它是一个普通的 for 循环,我可以完成 list.get(element index).toString() 。但是如何在增强的 for 循环中做??

最佳答案

你不应该通过调用 toString() 来绕过类型安全 - 你应该使用泛型开始:

List<String> names = new ArrayList<String>();

现在您的 for 循环将编译(顺便说一句,您可以在 System.out.println 调用中去掉强制转换)编译器会阻止您向列表中添加非字符串。

参见 Java generics tutorial作为泛型的起点,以及 Java Generics FAQ获取您永远想知道的更多信息:)

关于java : Inside Enhanced for loop cannot Object to String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9938153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com