该内容已被发布者删除 该内容被自由微信恢复
文章于 2021年9月8日 被检测为删除。
查看原文
被用户删除
其他

新来的实习妹纸被老大骂了,因为她自己写了将字符串转换为整数的工具。。。

鸭哥 鸭哥聊Java 2021-09-08

大家好,我是鸭哥


编程启蒙语言是 C 或 C++ 的同学都知道,字符串转换成整数是一道经典的编程题目,不仅能考察我们的编程知识,程序的健壮性也能反映出我们的编程功底。鸭哥组里有个妹子是 C++ 转 Java 开发的,平时工作非常认真,但有时候会钻牛角尖,因为不太了解 Java 一些工具类的妙用,想重复造轮子。


昨天,因为工作中要将字符串转换为整数,妹子首先想的是自己写一个转换的工具类,但是搞了半天还是有问题,而且不敢保证程序的健壮性,所以向鸭哥求助。其实 Java 中是有现成的方法可以直接用的,我们一起来帮妹子看看吧~



讲解


我们可以使用以下的两种方法,将字符串转换为整数,

String strNum = "123";
//返回Integer对象Integer objectNum = Integer.valueOf(strNum);
//返回int类型数字int valueNum = Integer.parseInt(strNum);

这两种方法有什么不同呢?


valueOf()方法返回的是一个 Integer 对象,而parseInt()返回的则是基本数据 int 的一个值


同时这两个方法又有联系,可以这种联系简单地理解为如下的关系,

Integer objectNum = new Integer(parseInt(strNum));

提醒


在使用上述的方法进行转换前,我们首先要保证字符串中数字的格式是正确的,否则转换时将会抛 NumberFormatException, 示例如下:

String strNum = "123hello";Integer objectNum = Integer.valueOf(strNum);

运行结果:



而当我们用Integer.valueOf()方法转换字符串格式的小数时,也会抛出上述的异常,

String strNum = "123.1";Integer objectNum = Integer.valueOf(strNum);

怎样解决呢?举一反三,使用 Float.valueOf()方法即可,

String strNum = "123.1";Float objectNum = Float.valueOf(strNum);

类似的还有 Short.valueOf() / parseShort(), Long.valueOf() / parseLong() 等方法,我们可以实际的场景选用。



鸭哥想提醒大家,工作中讲究产出第一,面对一个问题,我们首先应该思考是否已有解决方案,有的话就拿过来用,没有的话再自行解决。同时,简单的知识点了然于胸,有时候可以少走很多弯路,这就是基础如此重要的原因。基础扎实了,加上能力强,就能吸引别人来请教交流,妹子不重要,重要的是能交流学习,大家说呢?


近期技术热文

1、号称微软下一代操作系统的 Windows 10X ,凉凉凉了

2、一千个不用 Null 的理由!

3、同事说,Apache BeanUtils比Spring BeanUtils更牛逼?我表示不服

4、开发提升十倍生产力: IDEA 远程一键部署 Spring Boot 到 Docker

点击下方公众号
回复关键字【666
领取资料


我就知道你会点赞+“在看”

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存