java - 无法从元素类型对象转换为字符串

标签 java eclipse string bukkit

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/

相关文章:

c - 如何在 C 中创建用户定义类型?

java - Spring MVC - 检查用户是否已经通过 Spring Security 登录?

java - 另一个与 main 方法中的变量交互的类

java - 确定方法调用是否在多个线程上执行

java - 在Eclipse中设置安全策略文件

java - 当我在窗口中启动 Eclipse 时如何减小 jvm 大小

java - 需要spring security ntlm源码2.04

java - javac 和 Eclipse 编译器有什么区别?

java - String 的 char 表示形式是否不同且固定?

java - 试图理解 Java String 实现