我不知道有什么更好的用法,虽然我需要返回布尔值,使用:contains或equals搜索匹配项。这里有些例子。
List<String> names = new ArrayList<>();
names.add(“John”);
names.add(“Laura”);
names.add(“Nick”);
Run Code Online (Sandbox Code Playgroud)
等于 :
boolean check;
for(String name : names)
{
if(“Laura”.equals(name))
{
check = true;
}
}
Run Code Online (Sandbox Code Playgroud)
包含:
boolean check;
check = names.contains(“Laura”);
Run Code Online (Sandbox Code Playgroud)
提前响应
String equals()方法根据字符串的内容比较两个给定的字符串。如果任何字符不匹配,则返回false。如果所有字符都匹配,则返回true。对于您的方案,您将浏览列表中的每个字符串,将其与所需的字符串进行比较,如果它们相同,则返回true。
该ArrayList.contains(对象)如果此列表包含指定的元素方法返回true。包含方法 的实际实现java.util.ArrayList如下:
/**
* Returns true iff element is in this ArrayList.
*
* @param e the element whose inclusion in the List is being tested
* @return true if the list contains e
*/
public boolean contains(Object e)
{
return indexOf(e) != -1;
}
Run Code Online (Sandbox Code Playgroud)
indexOf()ArrayList 的方法返回此列表中指定元素的第一个匹配项的索引;如果此列表不包含该元素,则返回-1。
无论您决定采用哪种方法,都可以接受。特别是在您的情况下,由于您要检查的是硬编码值,因此我认为使用contains方法看起来更整洁,但这并不是一个正确的答案。
| 归档时间: |
|
| 查看次数: |
435 次 |
| 最近记录: |