转成String类型的几种方式

1. String.valueOf()

  • String.valueOf():基本数据类型或包装类都可以通过 String.valueOf() 方法转为字符串表示形式,如:
java 复制代码
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() 的基础上实现的,源码:

java 复制代码
public static String valueOf(Object obj) {
    return (obj == null) ? "null" : obj.toString();
}
  • Object.toString() 方法的不同点在于,String.valueOf(Object) 不用担心对象是否为 null 这一问题,可以安全地处理 null 对象

2. 包装类-toString()

java 复制代码
Integer i = 22;
System.out.println("String value: " + i.toString());
  • 可以使用对应包装类的toString()方法,比如使用Integer.toString(int i)方法
  • 注意:当使用 object.toString() 时,必须确保 object 不是 null 值,否则会抛出 NullPointerException 异常

3. 使用字符串拼接

  • 基本数据类型和包装类都可以使用 i + "" 的方式将基本数据类型转换成字符串
java 复制代码
int i = 22;
String str = i + "";
System.out.println(str);

4. 强制类型转换 (String) object

  • 基本数据类型不能直接通过强制类型转换 (String) 转换为字符串,因为基本数据类型并不是对象,可以将基本数据类型包装为对应的包装类,然后再强制转换为字符串
  • 用强制类型转换(String) object方法时,最好通过 instanceof 做类型检查以确保可以转换,否则可能抛出 ClassCastException

5. 总结:

  • 基本数据类型转换成String:
java 复制代码
1、String.valueOf()
2、使用字符串拼接:i + ""
  • 包装类转String:
java 复制代码
1、String.valueOf()
2、toString()
3、使用字符串拼接:i + ""
4、强制类型转换 (String) object

6. 基本数据类型和包装类

  • 基本数据类型和它们对应的包装类之间存在自动装箱和自动拆箱的机制,使得基本数据类型与包装类之间的转换更加方便

1、自动装箱: 将基本数据类型转换为包装类

java 复制代码
int intValue = 25;
Integer integerValue = intValue;

2、自动拆箱: 将包装类转换为基本数据类型

java 复制代码
Integer integerValue = 25;
int intValue = integerValue;

3、手动装箱: 显式地将基本数据类型转换为包装类

java 复制代码
int intValue = 25;
Integer integerValue = Integer.valueOf(intValue);
// 或者
Integer integer = new Integer(intValue);

4、手动拆箱: 显式地将包装类转换为基本数据类型

java 复制代码
Integer integerValue = 25;
int intValue = integerValue.intValue();
  • 自动装箱和自动拆箱使得基本数据类型与包装类之间的转换更加方便,可以直接赋值或进行算术运算。例如:
java 复制代码
Integer num1 = 10;  // 自动装箱
Integer num2 = 20;  // 自动装箱

int sum = num1 + num2;  // 自动拆箱和算术运算
System.out.println("Sum: " + sum);
相关推荐
开心就好202524 分钟前
不同阶段的 iOS 应用混淆工具怎么组合使用,源码混淆、IPA混淆
后端·ios
架构师沉默32 分钟前
程序员如何避免猝死?
java·后端·架构
椰奶燕麦1 小时前
Windows PackageManager (winget) 核心故障排错与通用修复指南
后端
zjjsctcdl1 小时前
springBoot发布https服务及调用
spring boot·后端·https
zdl6862 小时前
Spring Boot文件上传
java·spring boot·后端
世界哪有真情2 小时前
哇!绝了!原来这么简单!我的 Java 项目代码终于被 “拯救” 了!
java·后端
RMB Player2 小时前
Spring Boot 集成飞书推送超详细教程:文本消息、签名校验、封装工具类一篇搞定
java·网络·spring boot·后端·spring·飞书
重庆小透明2 小时前
【搞定面试之mysql】第三篇 mysql的锁
java·后端·mysql·面试·职场和发展
武超杰3 小时前
Spring Boot入门教程
java·spring boot·后端
IT 行者3 小时前
Spring Boot 集成 JavaMail 163邮箱配置详解
java·spring boot·后端