掌握 Java 类型转换:从自动拓宽到强制收窄及更多
Java 类型转换
本指南揭秘 Java 类型转换,涵盖主要形式并配清晰示例。
深入前请确保理解 Java 数据类型。
类型转换
将一种数据类型(int、float、double 等)的值转换为另一种类型的过程称为类型转换。
Java 提供 13 种转换类型,本教程聚焦两大核心类别:
- 自动拓宽类型转换
- 强制收窄类型转换
完整列表见 Java 官方 类型转换 文档。
自动拓宽类型转换
自动拓宽类型转换中,Java 自动将较小基本类型提升为较大类型,无数据丢失。
示例:int 转 double
class Main {
public static void main(String[] args) {
int num = 10;
System.out.println("The integer value: " + num);
double data = num;
System.out.println("The double value: " + data);
}
}
输出
The integer value: 10 The double value: 10.0
演示 int 变量赋值前自动提升为 double。因编译器自动完成,也称隐式类型转换。
注意:拓宽转换安全且由编译器自动执行。
强制收窄类型转换
强制收窄类型转换需显式用括号将较大基本类型转为较小类型。
示例:double 转 int
class Main {
public static void main(String[] args) {
double num = 10.99;
System.out.println("The double value: " + num);
int data = (int)num;
System.out.println("The integer value: " + data);
}
}
输出
The double value: 10.99 The integer value: 10
强制转换 (int) 截断小数部分,说明此转换为显式类型转换且可能导致数据丢失。
注意:Java 不自动执行收窄转换。
下面展示基本类型与字符串间实用转换。
示例 1:int 转 String
class Main {
public static void main(String[] args) {
int num = 10;
System.out.println("The integer value is: " + num);
String data = String.valueOf(num);
System.out.println("The string value is: " + data);
}
}
输出
The integer value is: 10 The string value is: 10
String.valueOf() 将整数转为文本表示。
示例 2:String 转 int
class Main {
public static void main(String[] args) {
String data = "10";
System.out.println("The string value is: " + data);
int num = Integer.parseInt(data);
System.out.println("The integer value is: " + num);
}
}
输出
The string value is: 10 The integer value is: 10
解析依赖 Integer.parseInt()。字符串无法解析时抛 NumberFormatException。
注意:验证输入以避免运行时异常。
java
- C++ char 类型完全指南:声明、ASCII 码、输入输出与字符串转换
- 精通Python类型转换与强制转换:综合指南
- Java 基本数据类型:8 大类型完整指南与示例
- 精通 Java 运算符:类型、语法与实战示例
- Java 注释:类型、用法与最佳实践
- 精通 Java 增强 for 循环:语法、示例与最佳实践
- 精通 Java 接口:概念、实现与最佳实践
- 精通 Java 封装:数据隐藏实战指南
- 精通 Java Try-With-Resources:自动资源管理详解
- Java 注解详解:类型、放置位置与实战示例
- 掌握 Java 类型转换:从自动拓宽到强制收窄及更多
- Java 基本数据类型:清晰指南