【问题标题】:Comparing int and String from LinkedList比较 LinkedList 中的 int 和 String
【发布时间】:2012-04-18 14:02:54
【问题描述】:

我有一个问题。

我正在尝试比较 String 和 int 但似乎无法正常工作。 我做错了什么?

从 Eclipse 获取:

表达式的类型必须是数组类型但解析为List

    int numberOfMoves;
    List<String> highscoreLinkedList = new LinkedList<String>();

    if (moves < Integer.parseInt(highscoreLinkedList[2])){
      highscoreLinkedList[2] = Integer.toString(moves);
      highscoreLinkedList[1] = name;
    }

这是我正在制作的游戏的高分文本文件。索引 2 处的 String 是移动数,而 int 移动也是移动数。

【问题讨论】:

  • 嗯,它告诉你做错了什么?
  • 糟糕,忘记了。现已编辑。

标签: java string linked-list compare int


【解决方案1】:

您无法使用highscoreLinkedList[2] 访问列表元素 - 该语法是为数组保留的。要访问列表,您必须使用get() 方法,即highscoreLinkedList.get(2)

【讨论】:

  • 天哪,我太笨了。完全混合了 Array 和 LinkedList ......愚蠢愚蠢的愚蠢!谢谢!
【解决方案2】:

您试图将 list 视为一个数组,但访问元素的唯一方法是通过调用 get() 方法。您的代码无法编译。

【讨论】:

  • 天哪,我太笨了。完全混合了 Array 和 LinkedList ......愚蠢愚蠢的愚蠢!谢谢!
  • 顺便说一下,随机访问 LinkedList 的元素效率不高。考虑使用 ArrayList 或数组。
【解决方案3】:

Lists 的工作方式与 Java 中的数组不同。要访问某个元素,必须使用get()方法,而要获取该元素,则需要使用set(),如下所示:

// you have highscoreLinkedList[2], it should be:
highscoreLinkedList.get(2);

// you have highscoreLinkedList[2] = ..., it should be:
highscoreLinkedList.set(2, Integer.toString(moves));

你可以看到LinkedListhere的所有方法。

【讨论】:

  • 天哪,我太笨了。完全混合了 Array 和 LinkedList ......愚蠢愚蠢的愚蠢!谢谢!
猜你喜欢
  • 1970-01-01
  • 2012-03-17
  • 2020-10-14
  • 1970-01-01
  • 2020-10-15
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
  • 2019-12-30
相关资源
最近更新 更多