不同类型不同方法转换String的原理及区别

常用方法

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方法来实现的

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值