转成String类型的几种方式
  wCW0yzvtzkJY 2023年12月05日 189 0



文章目录

  • 1. String.valueOf()
  • 2. 包装类-toString()
  • 3. 使用字符串拼接
  • 4. 强制类型转换 (String) object
  • 5. 总结:
  • 6. 基本数据类型和包装类


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);
  • 包装类和基本数据的转换


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月05日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   54   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   109   0   0 Java
  8s1LUHPryisj   2024年05月17日   46   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
wCW0yzvtzkJY