1

我有问题。

我正在尝试比较 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 处的字符串是移动数,而 int 移动也是移动数。

4

3 回答 3

3

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

于 2012-04-04T19:56:57.057 回答
1

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

于 2012-04-04T19:57:37.383 回答
1

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

LinkedList 您可以在此处查看所有方法。

于 2012-04-04T19:59:20.200 回答