字符串的charAt()方法在Java中是否返回负整数值?


String data = //some String;
int val = data.charAt(2);

在任何情况下,val 都可以有负值吗?

No.

char

char 数据类型是单个 16 位 Unicode 字符。它的最小值为"\u0000"(或 0(,最大值为"\uffff"(或 65,535(含 65,535(。

根据有关转换的文档,从charint的转换是一种扩大的转换。该页面明确指出(在示例 5.1.2-1 的正上方(:

char 扩大转换为整数类型T零扩展了 char 值的表示形式以填充更宽的格式。

这基本上意味着ffff将在左侧填充

零以整数0000ffff

最新更新