关于Java基本类型的自动转换,有说到“表数范围小的可以向表数范围大的进行自动类型转换”
各类型转换如图:
原以为byte(8位)不能转char(16位)奇怪。
查了下,有人说是有无符号造成的:
byte符号占1位,范围 -128~127
char无符号,范围 0~65535
后面有人跳出来说不是符号的问题,要转换必须是同性质的类型才能转。
暂时还是站在“符号问题”一边,首先char也是数值类型,可以转换成int,应该就是他所说的同类型。那么这7个基本类型应该都属于数值类型不会错的。
总结:byte不能自动转换成char是由于byte有符号,char无符号,byte范围并不包含于char范围。