Java 包含问题
有没有一种简单的方法可以检查容器是否包含值而不是对象?这是我想使用的代码:Java 包含问题,java,containers,contains,Java,Containers,Contains,有没有一种简单的方法可以检查容器是否包含值而不是对象?这是我想使用的代码: String[] i = {"One", "Two", "Three"}; if (Arrays.asList(i).contains("One")){ return true; } 有没有办法做到这一点,或者我必须自己在数组中循环?应该可以。字符串是一个对象,因此可以使用重载(基于equals)。这应该可以正常工作。字符串是一个对象,因此可以使用重载(基于等于)。您尝试过该代码吗?它应该会起作用 Java集合使用
String[] i = {"One", "Two", "Three"};
if (Arrays.asList(i).contains("One")){
return true;
}
有没有办法做到这一点,或者我必须自己在数组中循环?应该可以。字符串是一个对象,因此可以使用重载(基于
equals
)。这应该可以正常工作。字符串是一个对象,因此可以使用重载(基于等于)。您尝试过该代码吗?它应该会起作用
Java集合使用equals
来确定包含的内容是否相等。因此,如果对象上的equals
方法测试值(而不是引用)相等性,那么您想要的将起作用
字符串检查它们的值是否相同。您尝试过该代码吗?它应该会起作用
Java集合使用equals
来确定包含的内容是否相等。因此,如果对象上的equals
方法测试值(而不是引用)相等性,那么您想要的将起作用
字符串检查它们的值是否相同。要重复其他所有人,字符串是一个对象,因此这将很好地工作。contains()方法使用Object.equals()来确定列表中是否存在给定的对象。要重复其他所有对象,String是一个对象,因此它可以正常工作。contains()方法使用Object.equals()确定列表中是否存在给定对象
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.
我认为这是有效的
输出
----jGRASP exec: java ContainsTest
true
----jGRASP: operation complete.
我认为它是有效的。我想contains()
使用.equals而不是=
是有道理的。我想我只是想得太多了。我想contains()
使用.equals而不是=
是有道理的。我想我只是想得太多了。我一字不差地复制了它,它成功了。我一字不差地复制了它,它成功了。