Java 如何将一个字符串与数组列表中的另一个字符串匹配并打印匹配项?
好的,这是我的问题。我试图允许用户通过lastname、email和zipcode在我的联系人列表中搜索匹配的联系人。我尝试使用matches和equals函数,使用一个布尔值,如果我有匹配项,它将打印出带有匹配项的字符串/联系人。但是,它不会打印任何内容。我是否使用了错误的功能来匹配联系人?我的匹配函数可以在下面的ContactList.java方法searchEmail下找到 MainActions.javaJava 如何将一个字符串与数组列表中的另一个字符串匹配并打印匹配项?,java,arrays,Java,Arrays,好的,这是我的问题。我试图允许用户通过lastname、email和zipcode在我的联系人列表中搜索匹配的联系人。我尝试使用matches和equals函数,使用一个布尔值,如果我有匹配项,它将打印出带有匹配项的字符串/联系人。但是,它不会打印任何内容。我是否使用了错误的功能来匹配联系人?我的匹配函数可以在下面的ContactList.java方法searchEmail下找到 MainActions.java case 3: // read in last name
case 3:
// read in last name here
String userStringLastName;
System.out.println("Enter the last name to search for: ");
userStringLastName = reader.next();
list.searchLastName(userStringLastName);
break;
ContactList.java
/**
*
* @param userStringLastName
*/
public void searchLastName(String userStringLastName) {
// search last name
for (int i = 0; i < contacts.size(); i++) {
Contact c = contacts.get(i);
boolean b = userStringLastName.matches(c.getLastName());
if (b == true) {
System.out.println(c.toString());
}
}
}
差不多
userStringLastName.toLowerCase().contains(c.getLastName().toLowerCase());
应该可以工作我不会阅读此代码。请发布相关部分我还尝试添加一个字符串,如果未找到匹配项,则打印出未找到匹配项,以查看它是否将我的布尔值读取为false,尽管它们在列表中是匹配项。程序员使用代码重用技术不复制/粘贴。发布的相关部分。导入也是相关的,尽管您的方法可行。但它们是一种忽略大小写的方式吗?通过降低两个大小写,实际上你忽略了大小写。正如K Maertens所说:这段代码只是忽略大小写,它不会改变任何东西。我明白了。测试了一下。事实上,在不改变案例的情况下,它确实起了作用。A++