如何在Java中进行数据类型转换?
Java 转换分 4 大类自动类型转换隐式、强制类型转换显式、字符串与基本类型互转、装箱拆箱基本 ↔ 包装类一、自动类型转换隐式转换无需手动强转规则取值范围小的类型 → 范围大的类型自动完成不会丢失精度。转换优先级顺序byte → short → int → long → float → doublechar → int示例bytea10;intba;// byte自动转intlongcb;// int自动转longfloatdc;// long自动转floatdoubleed;// float自动转doublecharchA;intnumch;// char转int取ASCII码System.out.println(num);// 65注意short和char不会自动互相转换byte、short参与运算会自动提升为int。二、强制类型转换显式转换手动写括号规则大范围类型 → 小范围类型必须强制转换会丢失精度、溢出。语法(目标类型)值/变量1. 浮点转整数直接舍弃小数doublex3.99;inty(int)x;System.out.println(y);// 3小数直接砍掉2. 大数转小数溢出intnum130;byteb(byte)num;System.out.println(b);// -126 溢出失真3. long 转 intlongl9999;inti(int)l;限制布尔boolean不能和任何类型互相转换强转会编译报错。三、基本类型 ↔ String 字符串转换1. 基本类型 → String两种方式1拼接空字符串最简单inta100;Strings1a;2String.valueOf()推荐规范doubled3.14;Strings2String.valueOf(d);2. String → 基本类型包装类静态parseXxx方法Stringstr123;intnumInteger.parseInt(str);StringfStr2.5;floatfFloat.parseFloat(fStr);StringboolStrtrue;booleanflagBoolean.parseBoolean(boolStr);注意字符串格式不对会抛出NumberFormatException。四、装箱 拆箱基本类型 ↔ 包装类1. 自动装箱基本 → 包装对象Integeri10;// 等价 Integer i Integer.valueOf(10);Doubled2.5;2. 自动拆箱包装对象 → 基本Integerobj20;intnobj;// 等价 int n obj.intValue();手动写法底层原理// 手动装箱IntegernumInteger.valueOf(5);// 手动拆箱intxnum.intValue();五、运算时自动类型提升高频坑点byte / short / char 任意两者运算先转 intbytea10;byteb20;intsumab;// 结果自动int任意整数和浮点运算整体提升为浮点intx5;doubleyx2.5;// 结果double六、转换总结速记小转大自动转无损大转小强制转可能丢精度/溢出数字转字符串拼接 /String.valueOf()字符串转数字包装类parseXxx()基本与包装类自动装箱拆箱boolean 不参与任何数字转换。