Java charAt给出了一个不存在的值

Java charAt给出了一个不存在的值,java,Java,大家好,我有一个奇怪的问题,因为标题说charAt函数给了我一个不存在的值。 这是我的密码 String numeroDoc = "20298729700" int lastNumber = numeroDoc.charAt(numeroDoc.length() - 1) // returns 48 但是它应该是0,当我做一个for循环时,它返回rigth值。我缺少什么?您得到的ASCII值为“0”,即48。正如您已将lastNumber声明为int 将代码修改为 ch

大家好,我有一个奇怪的问题,因为标题说charAt函数给了我一个不存在的值。 这是我的密码

String numeroDoc = "20298729700"

int lastNumber = numeroDoc.charAt(numeroDoc.length() - 1) // returns 48

但是它应该是0,当我做一个for循环时,它返回rigth值。我缺少什么?

您得到的ASCII值为“0”,即48。正如您已将lastNumber声明为int

将代码修改为

 char lastNumber = numeroDoc.charAt(numeroDoc.length() - 1);

与其将lastNumber声明为int,不如将其声明为char。

48是字符“0”的数值
char lastNumber=..
请阅读文档,即的javadoc,它说:“返回指定索引处的
char
值。”---它不返回
int
,而是返回
char
。然后阅读Java手册,了解char
'0'
为什么是number
48
,即了解Unicode。