java - 可以将整数值分配给 char 但不能将整数变量分配给 char

标签 java char int

为什么下面的代码不能编译

int n = 5;
char c = n;

但是下面的确实可以编译

char c = 5;

我不是在这两种情况下都为 char 分配了一个整数值吗?

最佳答案

char 可以分配给 int 而无需强制转换,因为这是扩大转换。要进行相反的操作,将 int 转换为 char 需要强制转换,因为它是一种缩小转换。

另见 JLS. Chapter 5. Conversions and Promotions .

关于java - 可以将整数值分配给 char 但不能将整数变量分配给 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26446512/

相关文章:

java - Maven 重新导入设置语言级别

java - 在 Java 中使用 bundle 传递哈希表

java - 如何在 Android 中复制无法解析的日期错误?

java - java中int转char

java - 使用按钮更改类(class) View

java - 仅打印给定字符串中的 3 个连续字符

c# - 如何使用c#审查字符串中的前10个字符

c++ - 内存配对游戏如何随机化数组中的字符

c++ - 在 C++ 中将整数转换为固定长度的字符数组

C++ int 出现次数未知范围