第三行和第四行没有任何区别,因为String.valueOf(i)也是调用Integer.toString(i)来实现的。 第二行代码其实是String i1 = (new StringBuilder()).append(i).toString();,首先创建一个StringBuilder对象,然后再调用append方法,再调用toString方法。
两者的运行结果都是相同的,只是原理不一样 String.valueOf()可以应用到任何数据类型,且不会有异常报出。 Integer.toString()表示先讲int转换成Integer型,然后再将Integer转换成String型。 一般用前者居多,应用的数据类型无限制,且不会报空指针异常。 个人总结:总的来说 String.valueOf()用的比较多(应用的数据类...
String.valueOf()方法与toString()方法的区别 1. 两者都是把ObJect对象转化为String 类型。 2.string.valueof()方法有作非空判断,在内部也是调用的toString()方法,如下 : 代码语言:javascript 复制 publicstaticStringvalueOf(Object obj){return(obj==null)?"null":obj.toString();} 3. toString() 则没有作...
看源码后他们的区别就更加清晰: 显而易见,String.valueof()已经考虑到了对象为null的情形。也就是平时要养成好习惯,如果是用toString()记得先进行非空判断,要么就直接String.valueof().需要注意的是,为空时String.valueof()返回的是字符串“null ”,而不是null. int--->String的效率比较: Integer.toString(i...
1、toString,需要保证调⽤这个⽅法的类、⽅法、变量不为null,否则会报空指针。2、String.valueOf。这个⽅法在使⽤的时候是有些特殊的。⼀般情况下,如果是确定类型的null传⼊,返回的是字符串“null”,⽽如果直接传⼊null,则会发⽣错误。3、(String) 字符串类型强转。需要保证的是类型可以...
最大的区别就是String.valueof()可以接受Object对象,而toString()方法必须是对象实现了toString()方法才可以使用。 在开发中,经常看到好多同事转字符串用toString()方法,这个方法用起来简单,但是项目中稍不注意就很容易埋雷。我在开发中就改过类似的很多个bug,都是toString()方法使用不当引起的。
1、String.valueOf(int i) 2、Integer.toString(int i) 3、i+""; //i 为 int类型 三种方法效率排序为: Integer.toString(int i) > String.valueOf(int i) > i+""; 代码测试: public static void main(String[] args) { int[] intArr = new int[1000000]; ...
对于封装类型,如String、Integer等,它们自带的toString()方法可以将对象转换为字符串形式。另外,String.valueOf()方法同样适用于封装类型,且功能更全面,它会自动对null值进行特殊处理,返回字符串"null",而不会抛出空指针异常。因此,推荐在转换封装类型时使用String.valueOf()。在处理null值时,...
String str=Integer.toString(100);System.out.println(str); 【成功】 使用的是int的包装类中实现的toString方法。 5.String.valueOf(int i)方法 String str=String.valueOf(100);System.out.println(str); 【成功】 我在查看源代码时发现调用的是Integer中的toString方法,也就是4的方法。