Java中将对象转换成String的三种方法

2年前 (2022) 程序员胖胖胖虎阿
229 0 0

日常开发中经常会有对象转成String类型这种场景,一般有三种方法

1.直接进行类型强转,(String)

Object o = "2";
System.out.println((String) o);

//输出结果为:2

但是这是建立在类型能强转为String的前提下的,如果不能,则会抛出ClassCastException异常

Object o = 2;
System.out.println((String) o);

Java中将对象转换成String的三种方法

因此在强转之前最好做个类型的检查,就能有效避免异常

Object o = 2;
if (o instanceof String) {
    System.out.println((String) o);
}else {
    System.out.println("此类型无法强转");
}

//输出结果为:此类型无法强转

2.调用toString方法

Object o = 2;
System.out.println(o.toString());

//输出结果为:2

toString方法在Object类中被定义,因此任何Java对象都可以调用此方法

但是要保证调用此方法的对象不为null,否则会抛出NullPointerException异常

Object o = null;
System.out.println(o.toString());

 Java中将对象转换成String的三种方法

 使用此方法之前应进行非空判断,避免异常

Object o = null;
if (o != null) {
    System.out.println(o.toString());
}else {
    System.out.println("调用对象为null");
}

//输出结果为:调用对象为null

3. 调用String.valueOf方法

Object o = 1;
System.out.println(String.valueOf(o));

//输出结果为:1

此方法为String类定义的静态方法,可以直接调用,并且不会出现前面两种方式出现的异常

跟踪它的源码可以看到是如何避免空指针异常的

Java中将对象转换成String的三种方法

它会直接把null对象转换为"null"字符串

这是需要特别注意的,当需要转换的对象为null时,结果并不是空字符串,而是"null"字符串

以上三种方法各有千秋,可以根据实际情况酌情使用

版权声明:程序员胖胖胖虎阿 发表于 2022年9月6日 上午2:48。
转载请注明:Java中将对象转换成String的三种方法 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...