需求是:做一个文章字数统计。
以开始我直接用String.length(),返回总长度。被测试告知,emoji只能算一个字,而我返回的长度是二。
这是因为emoji占用两个char长度。
解决办法:
public static int emojiCount(String str) {
int emojiCount = 0;
for(int i = 0; i < str.length(); i ++){
int type = Character.getType(str.charAt(i));
if(type == Character.SURROGATE || type == Character.OTHER_SYMBOL){
emojiCount ++;
}
}
return emojiCount / 2;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
不理解吗?懵逼吗?那就看看这篇文章吧:基础类型Character