为什么下面的代码不能编译
int n = 5;
char c = n;
但以下确实可以编译
char c = 5;
在这两种情况下我不是只是为 char 分配一个整数值吗?
A char
可以分配给一个int
没有强制转换,因为这是一个扩大的转换。为了执行相反的操作,int
to a char
需要强制转换,因为它是缩小转换。
也可以看看JLS。第 5 章 转换和促销 http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)