Java 将整数隐式转换为 ASCII 字符 A-F

Java converting integer to ASCII character A-F implicitly

如何在不使用任何转换 类 且不使用显式转换的情况下,隐式地将整数转换为其等效的 ASCII

面临的问题是我正在尝试将整数 12 转换为字母 C 并将其附加到现有字符串。我的尝试如下:

s += 12 +'A'-10; 

我得到的只是输出 67,它是 ASCII 字符 'C' 的十进制等效值,但我需要字母 C 作为输出,而不是 67。

有没有办法做到这一点而不使用多个 if-else-if 语句并且不使用上面提到的内容?

我没有看到你的问题。

    char s = 12 + 'A' - 10;
    System.out.println("s = '" + s + "'");

打印 s = 'C'.

我假设是这样的:

char s = 'A' + 12 - 10;

将给出 字符 'C'

问题是 RHS 上的表达式:

12 + 'A' - 10

是类型 int,因为 char 会自动加宽为 int;所以 += 运算符会将整数值连接到字符串。

两个选项(除其他外):

  1. 转换为 char:

    s += (char) (12 + 'A' - 10);
    
  2. 使用String.format:

    s += String.format("%X", 12);