如何将列表中的值与java中的参数进行比较?

时间:2013-02-09 16:10:47

标签: java android list

我正在尝试创建一个检查SQLite数据库中是否保存某个级别的函数。如果是,并且新分数大于表中的分数,那么我想编辑它。我创建了一个似乎工作正常的编辑函数,以及当检查的级别不存在时调用的数据库函数添加。

这是我的功能

    void isHighScore(String level, int score) {
    List<String> scores = getHighScore();
    List<String> levels = getHighScoreLevel();

    for (int i = 0; i < levels.size(); i++) {

        int scoreVal = Integer.parseInt(scores.get(i));
        String levelVal = levels.get(i).toString();

        if (levelVal == level && scoreVal < score) {
            try {
                editScore(level, score);
            } catch (Exception e) {}
        }
    }
    if (!levels.contains(level)) {
        createHighScoreEntry(level, score);
    }
}

到目前为止,只有create entry函数正在工作,所以我的主要问题在于for循环。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您不应该使用==来比较字符串,因为它不会检查字符串是否实际相等。你应该使用的是String.equals()或String.compare()或String.contains()

String.equals()检查它们是否相等。如果是这样,它返回true

String.compare()检查它们是否相等。如果不是,则返回0,否则返回-1或1,具体取决于差异。

String.contains()更通用,并检查字符串中是否包含单词,字符或短语,如果它返回true。

您可以使用此网站作为每个网站的参考 http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html