我遇到了问题。
我正在尝试比较一个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移动也是一些移动。
答案 0 :(得分:3)
您无法使用highscoreLinkedList[2]
访问列表元素 - 该语法是为数组保留的。要访问列表,您必须使用get()
方法,即highscoreLinkedList.get(2)
答案 1 :(得分:1)
您正在尝试将列表视为数组,但访问元素的唯一方法是通过调用get()方法。您的代码无法编译。
答案 2 :(得分:1)
List
与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
here的所有方法。