ArrayList display = new ArrayList();
for (Player p : game.getAllPlayers())
display.add(new StringBuilder().append(game.isPlayerActive(p) ? ChatColor.BLACK : ChatColor.GRAY).append(NameUtil.stylize(p.getName(), true, !game.isPlayerActive(p))).toString()); int no;
int line;
try {
no = 2;
line = 0;
for (String s : display) {
((Sign)this.signs.get(no)).setLine(line, s);
line++;
if (line >= 4) {
line = 0;
no++;
}
}
} catch (Exception e) { }
for (Sign s : this.signs)
s.update();
有人可以帮助我吗??当我写“for (String s : display) {”时,它给了我一个显示错误
最佳答案
改变
ArrayList display = new ArrayList();
至
ArrayList<String> display = new ArrayList<String>();
但作为最佳实践,左侧元素必须是一个接口(interface),因此最好设置:
List<String> display = new ArrayList<String>();
或者,甚至更好
Collection<String> display = new ArrayList<String>();
关于java - 无法从元素类型对象转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20005563/