我遇到了以下内容:
public int indexOf(int ch)
根据我在复习一些与字符串相关的Java概念时阅读的http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#indexOf(int),方法
indexOf()
应该使用char
参数。因此,我一直认为它应该是这样的。public int indexOf(char ch)
所以,请解释一下为什么是
public int indexOf(int ch)
。
char
提供的范围更广。char
只有8位,而int
有32位。 - Guildensternchar
是16位的。这对于最初的Unicode来说已经足够了,但现在不再足够了。 - ajbString
javadoc的顶部,您会看到:“字符串表示UTF-16格式中的字符串,其中补充字符由代理对表示(有关更多信息,请参见Character类中的Unicode字符表示部分)。索引值是char代码单元引用,因此补充字符在字符串中使用两个位置。” - ajb