我使用.equals
下面String
比较,但x
不匹配"OU"
:String.equals比较匹配失败
String memberOfValue="CN=cn,OU=ou,OU=roles,OU=de,OU=apps,DC=meta,DC=cc,DC=com";
String[] pairs = memberOfValue.split(",");
for (int i=0;i<pairs.length;i++) {
String pair = pairs[i];
String[] keyValue = pair.split("=");
System.out.println(keyValue[0]);
String x = keyValue[0];
String y = "OU";
System.out.println(x);
System.out.println(x.equals(y));
}
我要去哪里错了?
定义“不工作”。你期待什么行为?你在看什么? –
一个无关的注释:'for'循环可以用一个更简单的“foreach”循环替换:'for(String pair:pairs){...}'。 –
如果你试图解析[LDAP](https://tools.ietf.org/html/rfc4511)消息,你将需要比'String.split'更多的东西。除非这是一次性任务或者非常小的项目,否则你应该找一个已经为你处理奇怪角落案例的免费库(Apache提供了一个)。例如,您的输入字符串是否无效,或者是否允许包含该Unicode零宽度空格字符?我不知道,但它是在某个地方定义的,(可能)由预先存在的库处理。我相信还有更多像这样的惊喜。 –