首页 > 解决方案 > 从 int 到 char 的类型转换 Int 到 char

问题描述

假设

FileInputStream in=new FileInputStream ("file.txt");
char c=in.read();

给我一个错误:

java:不兼容的类型:从 int 到 char 的可能有损转换

, 但

char b=87;

没有给我任何错误,而是给了我 Unicode 字符

标签: javachartype-conversionintfileinputstream

解决方案


因为 int 也可以是 2147000000 并且不能转换为 char。当您指定 87 时,编译器知道它属于预期的 char 边界,但是当您从其他地方接收它时,无法确保数据安全。


推荐阅读