Integer.toString()与String.valueOf(Oject)有什么不同(2015年10月8日)

public String toString()

返回一个表示该 Integer 值的 String 对象。将该参数转换为有符号的十进制表示形式,并以字符串的形式返回它,就好像将该整数值作为参数赋予 toString(int) 方法一样。

public static String valueOf(int i)

返回 int 参数的字符串表示形式。该表示形式恰好是单参数的 Integer.toString 方法返回的结果。

以上是API中说明。


源码:

 public String toString() {
return String.valueOf(value);
    }

   -->public static String valueOf(int i) {
          return Integer.toString(i, 10);
       }


public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
    }

 

它们的异同:

  java.lang.Object类里已有public方法.toString(),所以对任何严格意义上的java对象都可以调用此方法。但在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常。

而valueOf(Object obj)对null值进行了处理,不会报任何异常。但object为null 时,String.valueOf(object)的值是字符串”null”,而不是null。


还有一种(String)obj强转为String字符串,此种方法前提是该对象可以强制转换为String,否则报语法错误。







你可能感兴趣的:(每日一条)