我知道.contains
需要一个字符串。 Varargs可以是不止一个的String结构。像String... role
可以是"user", "admin"
。或者String... role
可以是"user"
。
无论传入哪个,都将使用。
所以我有一个过滤器-我试图在其中查看那是String类型的getter是否包含在varargs中找到的值...
String a = Arrays.toString(role);
System.out.print(a);
TypeOfObject roles = userProjectRoles.stream().filter(userProjectRole ->
userProjectRole.getRole().getName().equals(a)).findFirst().orElse(null);
a有括号,它不是字符串,而是作为字符串值发送的Array。
您能帮我解决这个问题吗?
我想您正在尝试摆脱Arrays#toString的[和],但尚不清楚,因为没有直接答案。如果是这样,这就是方法。
值得注意的是,这是不安全的,因为角色的结果可能是多个值,而不是一个值。
String a = Arrays.toString(role).replaceAll("\\[", "").replaceAll("\\]", "");