Flask接口签名sign原理与实例代码浅析
431
2022-10-08
java 实现将Object类型转换为int类型
如何将Object类型转换为int类型
Object object = null;
try
{
Integer.parseInt(object.toString());
}
catch (NumberFormatException e)
{}
也可以先判定一下是否是Integer
//可以先判定一下是否是Integer
Object object = "111";
if (object instanceof Integer) {
Integer.parseInt(object.toString());
}
String转化Integer碰见的坑
项目开发中使用Interger将字符串转为Integer类型,并进行相应的比较,开始数据较小,并未发现问题,如15
String a = "15";
System.out.println(Integhttp://er.valueOf(a) == Integer.valueOf("15"));
返回的结果为true,但是给我423
String a = "423";
System.out.printlnhttp://(Integer.valueOf(a) == Integer.valueOf("423"));
返回的结果为false,立马查看Integer的源码,发现了如下代码
YdWRrpublic static Integer valueOf(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // must cachttp://he
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}
发现jdk未-128到127的数据做了一个缓存,如果数字在这个范围内,是不会再从新new Integer的。问题,明白了,当为423时,会创建2个对象,而我们比较是使用 == 比较地址符的,所以肯定不相同。
我们可以查看下内存地址。15的内存地址
423的地址
423的内存地址不一样。所以我们需要使用equals来做比较,不应该使用==来比较
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~