在网上看到一个Java编程练习的解释时,我发现了下面的代码:
int[] count = new int[128];
int length = 0;
for(char c: s.toCharArray()){
if(++count[c] == 2){
length += 2;
count[c] = 0;
}
}
我知道这段代码的作用,但是我不知道它如何使用字符索引(例如count[c],其中c是一个字符)来访问数组元素。我以为索引只能是整数?
§ é € ½ ©
)可能会导致IndexOutOfBoundsException异常。 - Joop Eggennew int[Character.MAX_VALUE+1]
可以涵盖所有 UTF-16 代码单元。它可能对 UTF-16 编码为两个代码单元的 Unicode 代码点或 字形簇(也称为“用户感知字符”)不太有用。但是,似乎您只期望 C0 控制字符和基本拉丁字符。 - Tom Blodget