我使用.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零寬度空格字符?我不知道,但它是在某個地方定義的,(可能)由預先存在的庫處理。我相信還有更多像這樣的驚喜。 –