java - 搜索特定对象

标签 java

我有一个对象列表,一个对象的示例是:

255, "Ben Nevis", "Highland", 1344.5, 56.796849, -5.003525

列表中有很多对象,我希望它打印出其中包含单词“Ben”的所有对象,但我不确定如何执行此操作,并且作为对象中的第二个字段可以有多个名称。

List<Mountains> list = Mountains.readMountains();
Scanner input = new Scanner(System.in);

System.out.println("Please enter a Mountain name: ");
String search = "Ben"
if (list.contains(search)){
    System.out.println("true");
}
else{
    System.out.println("no");
}

最佳答案

您必须迭代列表中的每个条目,然后检查 Name 是否属性(字符串)包含您的搜索词:

for(Mountains m:list){
  if(m.getName().contains(search)){
    System.out.println(m);
  }
}

这假设可以使用 getName() 访问山脉的名称。 .

在当前代码中,您检查(使用 contains )是否有 Mountains 列表对象包含 String值为 "Ben" 的对象这永远不会是真的。

关于java - 搜索特定对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43522494/

相关文章:

java - Mybatis 的 resultMap 上的查询是否可以只返回部分结果?

java - 为什么这个对象在没有组合类的情况下仍然存在,即使它是组合的

java - 如何处理表格的行和列

java - 编译 fatal error : invalid flag: --release for jdk 11 on Jenkins?

java - maven testNG 目录结构方法

java - 将自定义 jar 添加到 Maven 本地存储库

java - Udacity Sunshine 应用程序 - 第 1 课 - 尝试显示模拟 ListView 时出现 NullPointerException

java TimerTask增加时间?

java - 将子项添加到现有父项时的 Hibernate 一对多完整性约束

java - 语言注入(inject)intelliJ,找不到在哪里启用它