String与Integer的相互转化

String与Integer的相互转化String 与 Integer 相互转化时 一定要注意空指针异常

一、Integer转String

//方法一:Integer类的静态方法toString() Integer a = 2; String str = Integer.toString(a) //方法二:Integer类的成员方法toString() Integer a = 2; String str = a.toString(); //方法三:String类的静态方法valueOf() Integer a = 2; String str = String.valueOf(a);

通过toString()方法,可以把整数(包括0)转化为字符串,但是Integer如果是null的话,就会报空指针异常。

2、String.valueOf(Object obj)可以把整型(包括0)转化为字符串,但是Integer如果是null的话,会转化为”null”。从String.valueOf(Object obj)方法的源码可以看出:

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

3、当Integer是null的情况下,我们也希望String是null,上面的方法都没法做到。可以自己写一个方法:

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

另外,Apache提供的ObjectUtils.identityToString(Object obj)也可以实现。但是ObjectUtils.toString(Object obj)不行,该方法会把null转化为”“。

二、String转Integer

当我们要把String转化为Integer时,一定要对String进行非空判断,否则很可能报空指针异常。

String str = "..."; Integer i = null; if(str!=null){ i = Integer.valueOf(str); }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215035.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午2:51
下一篇 2026年3月18日 下午2:51


相关推荐

  • 10分钟搞定!OpenClaw接入飞书机器人

    10分钟搞定!OpenClaw接入飞书机器人

    2026年3月13日
    2
  • redis实现订单支付(延时队列)

    redis实现订单支付(延时队列)在电商网站中,我们经常会遇到订单支付,退货时间问题,那么怎么去处理那?设置定时任务,使用liunx中的at定时就可以轻松搞定,这里不在过多的研究使用redis延时队列:redis有一个数据类型,Sset叫做可以排序的集合(有序集合),为什么会是有序的那,是因为它与set相比有个属性叫score,sset就是这个属性(字段)来排序的,那如何实现延时队列那?实现方法:利用zset保存队列信息,score按照时间戳存放,再启动一个任务(线程),一直扫这个zset,判断当前时间和队列中的时间大小信息,如

    2022年6月5日
    163
  • Synchronized和Lock的区别

    Synchronized和Lock的区别  1、Lock是java的一个interface接口,而synchronized是Java中的关键字,synchronized是由JDK实现的,不需要程序员编写代码去控制加锁和释放;Lock的接口如下:“`public interface Lock {    void lock();    void lockInterruptibly() throws InterruptedExcep…

    2022年6月24日
    27
  • arpspoof攻击_捕获arp请求

    arpspoof攻击_捕获arp请求把PC和iPhone链接到同一个路由器上攻击者和受害者需要在同一局域网内1.查看发起攻击者的网卡和IP地址:$ifconfigeno1:flags=4163mtu1500inet192.168.2.105netmask255.255.255.0broadcast192.168.2.255inet6fe80::a56b:455a:b152:634cprefixlen64…

    2022年10月7日
    4
  • windows常用命令行命令

    windows常用命令行命令

    2021年10月20日
    37
  • supergo定位软件_super go定位修改下载

    supergo定位软件_super go定位修改下载介绍(2021-01-12)”SuperGo”isanessentialAPPforanyonewhowantstokeeptheiriOSPhotolibraryorganizedbyplaceswherephotosweretaken.AllphotographerswhostorephotosintheiriOSPhotosli…

    2022年6月25日
    98

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号