Java字符串复制
public boolean topicFilterMatch(String topicFilter, String topic) {
if (topicFilter == null || topic == null) {
return false;
}
if (topicFilter.startsWith("$queue/"))
topicFilter = topicFilter.substring(7);
if (topicFilter.startsWith("$share/")) {
int index = topicFilter.indexOf("/", 7);
topicFilter = topicFilter.substring(index + 1);
}
String[] filterTokens = topicFilter.split("/");
String[] topicTokens = topic.split("/");
if (filterTokens.length > topicTokens.length) {
return false;
}
for (int i = 0; i < filterTokens.length; i++) {
if (filterTokens[i].equals("#")) {
// '#' must be the last character
return ((i + 1) == filterTokens.length);
}
if (!(filterTokens[i].equals(topicTokens[i]) || filterTokens[i].equals("+"))) {
return false;
}
}
return (filterTokens.length == topicTokens.length);
}