代码之家  ›  专栏  ›  技术社区  ›  Falmarri

Java容器。包含问题

  •  1
  • Falmarri  · 技术社区  · 14 年前

    如果容器包含值而不是对象,有没有一种简单的方法来检查它?这是我想要的代码:

    
    String[] i = {"One", "Two", "Three"};
    
    if (Arrays.asList(i).contains("One")){
    return true;
    }
    
    

    有没有办法做到这一点,或者我必须自己在数组中循环?

    4 回复  |  直到 14 年前
        1
  •  3
  •   Matthew Flaschen    14 年前

    那应该行得通。字符串是一个对象,因此可以使用 contains(Object) 过载(基于 equals ).

        2
  •  1
  •   oconnor0    14 年前

    Java集合使用 equals contains 平等。因此,如果 等于 对象上的方法测试值(而不是引用)的相等性,您想要的将起作用。

        3
  •  1
  •   corsiKa    14 年前
    class ContainsTest {
        public static void main(String[] args) {
            String[] i = {"One", "Two", "Three"};
            System.out.println(java.util.Arrays.asList(i).contains("One"));
        }  
    }
    

    输出

     ----jGRASP exec: java ContainsTest
    
    true
    
     ----jGRASP: operation complete.
    

    我得说它管用。

        4
  •  0
  •   Michael    14 年前

    重复其他人的话,String 一个物体,这样就可以了。contains()方法使用Object.equals()确定列表中是否存在给定的对象。