Java函数实现用户名匹配,忽略大小写

Java Q&A Hub 使用 GPT-4o-mini 回答

问题:

我有一个List<String> list = new ArrayList<>(Arrays.asList("Jack", "Tom", "sandy")), 我需要让这个数组匹配我传递的参数,我需要你帮我写个函数帮我匹配我传入的字符串跟这个list的用户名匹配上,忽略字符串的大小写。

回答:

你可以使用 Java 的 Stream API 来实现这个功能。下面是一个示例函数,它接受一个字符串参数,并检查该字符串是否与 list 中的任何用户名匹配,忽略大小写。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class UsernameMatcher {

    public static void main(String[] args) {
        List<String> list = new ArrayList<>(Arrays.asList("Jack", "Tom", "sandy"));
        String input = "jack"; // 你可以替换成任何你想要匹配的字符串

        boolean isMatch = isUsernameMatched(list, input);
        System.out.println("匹配结果: " + isMatch);
    }

    public static boolean isUsernameMatched(List<String> list, String username) {
        return list.stream()
                   .anyMatch(existingUsername -> existingUsername.equalsIgnoreCase(username));
    }
}

在这个示例中,isUsernameMatched 函数使用 stream() 方法将 list 转换为流,并使用 anyMatch 方法检查是否有任何用户名与传入的 username 参数匹配,忽略大小写。你可以根据需要调用这个函数并传入不同的字符串进行匹配。