1.toString
2.String.valueOf()
3.String强制转换
4.不需要借助包装类的转换
一般来说前两种方法的使用场景比较多
1.toString最常见的方法,基本类型都没有toString方法,需要包装类调用,使用此方法需要注意判断调用者是否为null,否则可能会出现空指针异常
查看源码这里以Integer类型为例,首先做了一个自动拆箱的操作判断是否超过了int类型的最大值,然后进行了字符的拼接的操作
2.String.valueOf()推荐使用的方法,相较于toString方法,不会有空指针的异常出现
查看源码同样都是调用了toString方法,不同的是包装类的形参为object类型,为了防止空指针进行了判断
3.String强制转换一般来说都不会用此方法,如果有使用场景推荐首先使用instanceof关键字来判断是否可以进行强转
4.不需要借助包装类的转换例如 1 + ""
此方法因为写法不够优雅所以用的也比较少,此方法无法看到源码,但是我们可以利用其他方法来知道他的原理,如下图中,创建了一个类名为a的类,其中有两个属性都赋予了默认值,将其打印到控制台,一次重写了toString方法,一次没有重写可以两个不同的结果,所以我们可以得知此方式其实也是利用了toString方法来实现的