(String)、toString、String.valueOf的区别

1.(String)

将object转成String类型的值。

需要注意的是类型必须能转成String类型,(例如Integer类型就不行)否则抛出ClassCastException

备注:null值可以强制转换为任何java类类型,(String)null是合法的

 

.toString()

java.lang.Object类里已有public方法.toString(),而通常派生类会覆盖Object里的toString()方法,所以对任何java对象都可以调用此方法。

必须保证object不是null值,否则将抛出NullPointerException异常。

 

String.valueOf(Object)

弥补了前两者的不足,以.toString()方法为基础。

注意:当转换null时得使用String.valueOf((Object) null),而不是String.valueOf(null)(会报空指针错)

public static void main(String[] args) {
        Object num1 = "12";
        System.out.println("*****toString转换结果:"+num1.toString());
        System.out.println("*****String转换结果:"+(String)num1);
        System.out.println("*****valeOf转换结果:"+String.valueOf(num1));
    
        
        Object num2 = 12;
        System.out.println("*****toString转换结果:"+num2.toString());
        System.out.println("*****valeOf转换结果:"+String.valueOf(num2));
        //System.out.println("*****String转换结果:"+(String)num2);
        
        Object num3 = null;
        //System.out.println("*****toString转换结果:"+num3.toString());
        System.out.println("*****valeOf转换结果:"+String.valueOf(num3));
        System.out.println("*****String转换结果:"+(String)num3);
    }

运行结果如下:

 

 总结自:https://www.cnblogs.com/yanze/p/10954502.html

posted on 2021-04-08 14:22  泰洋  阅读(166)  评论(0编辑  收藏  举报

导航