Java中将对象转换成String的三种⽅法⽇常开发中经常会有对象转成String类型这种场景,⼀般有三种⽅法
1.直接进⾏类型强转,(String)
Object o = "2";
System.out.println((String) o);
//输出结果为:2
但是这是建⽴在类型能强转为String的前提下的,如果不能,则会抛出ClassCastException异常
Object o = 2;
System.out.println((String) o);
因此在强转之前最好做个类型的检查,就能有效避免异常
Object o = 2;
if (o instanceof String) {
System.out.println((String) o);
}else {
System.out.println("此类型⽆法强转");
}
//输出结果为:此类型⽆法强转
2.调⽤toString⽅法
Object o = 2;
System.out.String());
//输出结果为:2
toString⽅法在Object类中被定义,因此任何Java对象都可以调⽤此⽅法
但是要保证调⽤此⽅法的对象不为null,否则会抛出NullPointerException异常
Object o = null;
System.out.String());
使⽤此⽅法之前应进⾏⾮空判断,避免异常
Object o = null;
java的tostring方法if (o != null) {
System.out.String());
}else {
System.out.println("调⽤对象为null");
}
//输出结果为:调⽤对象为null
3. 调⽤String.valueOf⽅法
Object o = 1;
System.out.println(String.valueOf(o));
//输出结果为:1
此⽅法为String类定义的静态⽅法,可以直接调⽤,并且不会出现前⾯两种⽅式出现的异常跟踪它的源码可以看到是如何避免空指针异常的
它会直接把null对象转换为"null"字符串
这是需要特别注意的,当需要转换的对象为null时,结果并不是空字符串,⽽是"null"字符串以上三种⽅法各有千秋,可以根据实际情况酌情使⽤

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。