java后台的string.valueOf(null)

String.valueOf(map.get("key"))的返回值为“null”字符串?今天认真的学习一下。

1、看了一下String的valueOf()的方法,

    String valueOf(Object obj)    
    String valueOf(char data[])  
    String valueOf(boolean b) 
    String valueOf(char c)  

2、null不是基本的数据类型,所以可供选择的方法只有valueOf(char data[])和 valueOf(Object obj)。

3、 public static String valueOf(Object obj) {   

               return (obj == null) ? "null" : obj.toString();   

       }  

      显然会直接返回“null”

     public static String valueOf(char data[]) {   

             return new String(data);   

      }  

    再看对应的String构造方法:

    public String(char value[]) {   

            this.offset = 0;   

            this.count = value.length;  ①         

      this.value = StringValue.from(value);   

      }  

     运行到①的时候,会报空指针异常!

4、当后台的map取出的是key引用可能是null的时候,我们最好先判断一下,不转的话你得到的是一个“null”字符串,不是你要的null;

5、"null".equals(String.valuesOf(map.get("key")))?null:String.valuesOf(map.get("key"))



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值