我有一个字符串的TreeSet
(硬编码)。
想要检查给定的参数字符串,例如“Person”,是否出现在TreeSet中,如果存在则返回true
,否则返回false
。
这里我在Eclipse信息上感到困惑:
(Predicate<? super String> s)
和 (String s)
之间的区别:
类型Stream中的方法anyMatch(Predicate)不适用于参数(String)
请指导。
import java.util.Set;
import java.util.TreeSet;
import java.util.function.Predicate;
public class SystemLabelValidator {
public static boolean ValidateSystemLabel( String s) {
String j = s;
boolean b = false;
Set <String> SystemLabels = new TreeSet<String>();
// Unique Strings
SystemLabels.add("Person");
SystemLabels.add("Player");
SystemLabels.add("Hospital");
SystemLabels.add("Nurse");
SystemLabels.add("Room");
System.out.println("\n==> Loop here.");
for (String temp : SystemLabels) {
System.out.println(temp);
if(SystemLabels.stream().anyMatch(j)) {
System.out.println("I need to return Boolean");
}
return b;
}
return b;
}
}
? super String
可以有很多意义,例如它可以允许传递CharSequence
。 - Turing85