1. String.valueOf()
- String.valueOf():基本数据类型或包装类都可以通过
String.valueOf()
方法转为字符串表示形式,如:
int i = 22;
String stringValue = String.valueOf(i);
System.out.println("String value: " + stringValue);
基本数据类型转成字符串表示形式时,可以使用
String.valueOf(xx)
,但不能直接使用xx.toString()
方法(基本数据类型不具备方法和属性),也不能通过(String)
进行强制类型转化String.valueOf(Object)
是在Object.toString()
的基础上实现的,源码:
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
- 与
Object.toString()
方法的不同点在于,String.valueOf(Object)
不用担心对象是否为 null 这一问题,可以安全地处理 null 对象2. 包装类-toString()
Integer i = 22;
System.out.println("String value: " + i.toString());
- 可以使用对应包装类的
toString()
方法,比如使用Integer.toString(int i)
方法 - 注意:当使用 object.toString() 时,必须确保 object 不是 null 值,否则会抛出 NullPointerException 异常
3. 使用字符串拼接
- 基本数据类型和包装类都可以使用
i + ""
的方式将基本数据类型转换成字符串
int i = 22;
String str = i + "";
System.out.println(str);
4. 强制类型转换 (String) object
- 基本数据类型不能直接通过强制类型转换 (String) 转换为字符串,因为基本数据类型并不是对象,可以将基本数据类型包装为对应的包装类,然后再强制转换为字符串
- 用强制类型转换
(String) object
方法时,最好通过instanceof
做类型检查以确保可以转换,否则可能抛出ClassCastException
5. 总结:
- 基本数据类型转换成String:
1、String.valueOf()
2、使用字符串拼接:i + ""
- 包装类转String:
1、String.valueOf()
2、toString()
3、使用字符串拼接:i + ""
4、强制类型转换 (String) object
6. 基本数据类型和包装类
- 基本数据类型和它们对应的包装类之间存在自动装箱和自动拆箱的机制,使得基本数据类型与包装类之间的转换更加方便
1、自动装箱: 将基本数据类型转换为包装类
int intValue = 25;
Integer integerValue = intValue;
2、自动拆箱: 将包装类转换为基本数据类型
Integer integerValue = 25;
int intValue = integerValue;
3、手动装箱: 显式地将基本数据类型转换为包装类
int intValue = 25;
Integer integerValue = Integer.valueOf(intValue);
// 或者
Integer integer = new Integer(intValue);
4、手动拆箱: 显式地将包装类转换为基本数据类型
Integer integerValue = 25;
int intValue = integerValue.intValue();
- 自动装箱和自动拆箱使得基本数据类型与包装类之间的转换更加方便,可以直接赋值或进行算术运算。例如:
Integer num1 = 10; // 自动装箱
Integer num2 = 20; // 自动装箱
int sum = num1 + num2; // 自动拆箱和算术运算
System.out.println("Sum: " + sum);