Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

Java 的显式类型转换是什么?

查看完整题解

参考回答

直接回答

显式类型转换通过 (目标类型) 表达式 请求转换。它常用于窄化数值转换和引用向下转型。强制转换不会让数据自动变得安全:数值可能截断或丢失信息,引用类型不匹配时会抛 ClassCastException。

讲清原理

把一个大容器里的值放进小容器,必须先想好是否装得下。整数窄化可能保留低位而改变数值;浮点转整数通常会朝零截断,但超范围、NaN 等情况还要按语言规则处理,不能简单套用四舍五入。

引用转换也不改变对象本身。一个实际是 String 的对象,即使用 Object 变量接住,也仍是 String;转型只是让编译器按某个类型使用它。对象不是目标类型,转换就不能成立。

例子与易错点

System.out.println((int) 3.9);  // 3
System.out.println((byte) 130); // -126
Object value = "abc";
if (value instanceof String text) {
    System.out.println(text.length()); // 3
}

boolean 不能强转为 int。先把 double 转成 int,再转 long,也无法补回第一次转换已经丢失的信息。

相关题:第 15 题、第 53 题、第 58 题。

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。