Merge pull request #1112 from akiyamaneko/EMOJ_IMPROVE

优化EMOJ查询逻辑
This commit is contained in:
Golden Looly 2020-09-23 14:32:48 +08:00 committed by GitHub
commit 0f11fdb25a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 16 deletions

View File

@ -38,22 +38,7 @@ public class EmojiUtil {
* @since 4.5.11
*/
public static boolean containsEmoji(String str) {
if (str == null) {
return false;
}
final char[] chars = str.toCharArray();
EmojiTrie.Matches status;
for (int i = 0; i < chars.length; i++) {
for (int j = i + 1; j <= chars.length; j++) {
status = EmojiManager.isEmoji(Arrays.copyOfRange(chars, i, j));
if (status.impossibleMatch()) {
break;
} else if (status.exactMatch()) {
return true;
}
}
}
return false;
return EmojiManager.containsEmoji(str);
}
/**

View File

@ -16,4 +16,13 @@ public class EmojiUtilTest {
String alias = EmojiUtil.toAlias("😄");
Assert.assertEquals(":smile:", alias);
}
@Test
public void containsEmojiTest() {
boolean containsEmoji = EmojiUtil.containsEmoji("测试一下是否包含EMOJ:😄");
Assert.assertEquals(containsEmoji, true);
boolean notContainsEmoji = EmojiUtil.containsEmoji("不包含EMOJ:^_^");
Assert.assertEquals(notContainsEmoji, false);
}
}