Java小零碎 leetcode小经验—— String int Integer 互相转换

String 转 Integer

valueOf

String s = "123";
Integer a = Integer.valueOf(s);

String 转 int

parseInt 都讲得很清楚了 是parse解析到int 而不是Integer!

String s = "123;
int a = Integer.parseInt(s);

int Integer 转 String

valueOf 最通用 语义上最顺的写法 请看s1 s2
你看Integer的valueOf也是同样含义——把别的类型转成或者包装成自己类型

int a1 = Integer.MAX_VALUE;
Integer a2 = Integer.MAX_VALUE;
String s1 = String.valueOf(a1);
String s2 = String.valueOf(a2);
String s3 = ""+a1+a2;

当然了 你也可以用s3的写法 注意每次+都会产生临时的String对象,如果是循环多次 耗性能 此时建议使用Stringbuilder 避免临时String对象的产生 最好还能一开始固定StringBuilder大小,这样不会导致其扩容造成的性能损耗。

parseInt用于实现valueOf的效果?

我这么写呢?对吗?

String s = "123";
Integer a = Integer.parseInt(s);

回答:对的 但是有valueOf尽量用valueOf 因为语义上不是很直观
一般某个对象 比如String的valueOf 结果就要是String,Integer也是如此 valueOf是专门用于干对象转换的

自动装箱 自动拆箱 int Integer互转

那这个代码为什么能用?

这里int自动转换到 Integer 被称为自动装箱过程,从原生类型到这个对象实例,java会帮我们自动包装 自动装箱 把原生类型这个值int 封装为Integer对象实例

因此 int转Integer 只需要直接赋值即可
那反过来呢?也可以的 java会帮我们自动拆箱

int Integer的区别

Integer是对象,其中一个属性为int(真正的int值)
int是java原生的 基础数据类型 在内存 堆里边就是32bit = 4Byte 这么放着的 它是实体 存的就是具体的值

Integer对象实例 比如本例子中的a,是一个Integer实例的引用,类似C语言的指针 它指向的是对象实例。所以你看到ArrayList<Integer> 你可以想象一下,ArrayList装了一车子的对象引用(指针)罢了

后记

这个博客主要面向萌新 比如我这种菜鸡 大佬们请勿凡尔赛说 这不就是常识? 不会把不会吧都2021年了还不会呢? 诸如此类的话 我们这些萌新生存艰难 刚开始上手敲代码还各种小错误 刚学了什么就忘了什么 可能基础的东西 一上手敲就忘了。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值