String data = //some String;
int val = data.charAt(2);
在任何情况下,val都会有负值吗?
答案 0 :(得分:4)
没有
char :char数据类型是一个16位Unicode字符。它的最小值为'\ u0000'(或0),最大值为'\ uffff'(或65,535(含))。
根据the documentation on conversions,从char
到int
的转换是一种不断扩大的转换。该页面明确说明(正好在例5.1.2-1之上):
将
char
扩展为整数类型T
零扩展char值的表示形式以填充更宽的格式。
这基本上意味着ffff
将在左边用零填充整数0000ffff