我正在编写一个程序,显示列表中除以特定字母开头的单词之外的所有名称。我无法在 lambda 函数 .startsWith()
中使用 .equalIgnoreCase()这是我的代码:
package java_sample;
import java.util.ArrayList;
import java.util.List;
import java.util.jar.Attributes.Name;
public class practice_lambda {
public static void main(String[] args) {
//String[] words = {"Param","rishav","sabari"};
ArrayList<String> words = new ArrayList<String>();
words.add("Param");
words.add("Rishav");
words.add("Sabar");
//String name = "Paramesh";
//Boolean x = name.startsWith("s");
words.removeIf(name -> name.startsWith(name.equalsIgnoreCase("s")));
System.out.println(words);
}
}
谁能告诉我如何在 lambda 函数中使用 equalIgnoresCase() ?
一般来说,您不能仅使用
equalsIgnoreCase
来使其他字符串函数忽略大小写。 必须有一个 startsWithIgnoreCase
函数,但没有。
最简单的解决方案是 name -> name.startsWith("S") || name.startsWith("s")
,但忽略大小写的最接近的替代方案可能是
name -> name.toLowerCase().startsWith("s")
。