gpt4 book ai didi

java - Java:从char中减去'0'得到一个整数……为什么这个有效?

转载 作者:行者123 更新时间:2023-12-02 00:54:12 25 4
gpt4 key购买 nike

这工作正常:

int foo = bar.charAt(1) - '0';


但这不是-因为bar.charAt(x)返回一个char:

int foo = bar.charAt(1);


似乎从char中减去'0'会将其强制转换为整数。

为什么或如何减去字符串“ 0”(或它是一个字符?)将另一个字符转换为整数?

最佳答案

这是一个聪明的把戏。字符实际上与短裤的类型/长度相同。现在,当您有一个表示ASCII / Unicode数字(例如“ 1”)的字符,并从中减去最小的ASCII / Unicode数字(例如“ 0”)时,将剩下该数字的对应值(因此1)

因为char与short相同(尽管是unsigned short),所以可以安全地将其强制转换为int。如果涉及算术运算,则转换总是自动完成

关于java - Java:从char中减去'0'得到一个整数……为什么这个有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57834263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com