在 java 中将 int 流转换为 char

2022-08-31 09:19:35

这可能在其他地方已经得到了答案,但是如何获得int值的字符值?

具体来说,我正在从tcp流中读取一个,并且readers .read()方法返回一个int。

如何从中获取字符?


答案 1

也许您要求:

Character.toChars(65) // returns ['A']

更多信息: Character.toChars(int codePoint)

将指定的字符(Unicode 码位)转换为存储在 char 数组中的 UTF-16 表示形式。如果指定的代码点是 BMP(基本多语言平面或平面 0)值,则生成的 char 数组与 codePoint 具有相同的值。如果指定的代码点是补充代码点,则生成的 char 数组具有相应的代理项对。


答案 2

这取决于您所说的“将int转换为char”是什么意思。

如果您只想在int中强制转换值,则可以使用Java的类型转换表示法进行强制转换:

int i = 97; // 97 is 'a' in ASCII
char c = (char) i; // c is now 'a'

如果您的意思是将整数 1 转换为字符“1”,可以按如下方式操作:

if (i >= 0 && i <= 9) {
char c = Character.forDigit(i, 10);
....
}