【发布时间】:2016-04-30 12:41:38
【问题描述】:
我正在制作一个循环整数列表的程序(简单,duh)。问题是,当我循环并尝试将 Integer 列表转换为 String 列表时,我收到 java.lang.String cannot be cast to java.lang.Integer 错误。是的,字符串到整数错误,而不是整数到字符串错误。我不知道为什么或如何发生这种情况,我需要有关如何解决它的帮助。
我如何定义列表:
public List<Integer> killsList;
killsList = new ArrayList<Integer>();
我如何调用方法:
gc.setList("playerKills", gc.getStringListFromIntegerList(plugin.killsList));
我如何添加值:
plugin.killsList.add(1);
错误发生在for (Integer num : list) { 行...
代码:
public ArrayList<String> getStringListFromIntegerList(List<Integer> list) {
ArrayList<String> newList = new ArrayList<String>();
plugin.console.sendMessage(list.toString());
for (Integer num : list) {
newList.add(String.valueOf(num));
plugin.console.sendMessage(String.valueOf(num));
}
return newList;
}
例子:
public List<Integer> killsList;
killsList = new ArrayList<Integer>();
plugin.killsList.add(kills);
gc.setList("playerKills", gc.getStringListFromIntegerList(plugin.killsList));
public ArrayList<String> getStringListFromIntegerList(List<Integer> list) {
ArrayList<String> newList = new ArrayList<String>();
plugin.console.sendMessage(list.toString());
for (Integer num : list) {
newList.add(String.valueOf(num));
plugin.console.sendMessage(String.valueOf(num));
}
return newList;
}
【问题讨论】:
-
我将假设问题出在 for 循环语句中(?)。尝试将 num 转换为字符串,然后在所述循环中将其转换为整数。因为强制转换失败是有道理的,所以您请求一个整数来保存 List
的值 -
如果我尝试将
num设为字符串,则会收到一个编译错误,希望我将其改回整数。我以前循环过这样的列表(通常是字符串列表),没有问题。 -
这篇文章:stackoverflow.com/questions/18524/… 基本上有我正在使用的确切代码,但没有得到错误。
-
........你用什么确切地填充它?这很关键。
-
@AngryCupcake274 由于我们一无所知,您能否发布一个发生错误的完整示例? (请先删除所有不需要重现错误的代码)
标签: java string arraylist integer