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);