gpt4 book ai didi

Java:将 ArrayList 项与用户输入字符串进行比较

转载 作者:行者123 更新时间:2023-12-02 06:59:16 25 4
gpt4 key购买 nike

我已经看过其他线程,但我仍然不明白最好的方法。问题一开始:无法将用户输入的 String 与 arrayList 项(对象)进行比较。我的 list 将超过 40 项。

因此,当我尝试将 classesList.get(0) 与用户输入的 mage 进行比较时。它不会工作。

List<String> classesList = new ArrayList<String>();
classesList.add("mage");
classesList.add("warrior");
classesList.add("thief");

Scanner input = new Scanner(System.in);

String input = input.next();

for (int counter = 0; counter < classesList.size(); counter++) {
if (input == classesList.get(counter)) {
//won't run body since can't compare
}
}

我发现有人将 arrayList 转换为字符串。但我不确定我如何才能轻松地搜索我的列表。我宁愿将其保留为列表。这种方法是最好的方法吗?

String[] classesArray = classesList.toArray(new String[classesList.size()]);

最佳答案

我认为您必须查看ArrayList 中是否存在输入字符串,您必须使用contains() 方法。

   if(classesList.contains(input)) {
//Found in the arraylist.
}

但是使用您的方法,您不能使用 == 运算符比较字符串。您应该使用 equals() 方法进行比较

List<String> classesList = new ArrayList<String>();
classesList.add("mage");
classesList.add("warrior");
classesList.add("thief");

Scanner input = new Scanner(System.in);

String input = input.next();
boolean isExist = false;
for (String item : classesList) {
if (input.equals(classesList.get(counter))) {
//Your logic if it's there.
isExist = true;
break;
}
}

if(isExist) {
//Found in the arraylist.
}

此外,如果您想通过忽略大小写进行比较,您应该考虑使用 equlasIgnoreCase() 方法而不是 equals() 方法。

关于Java:将 ArrayList 项与用户输入字符串进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25087878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com