java 实现将Object类型转换为int类型
时间:2022-06-13 10:13:17|栏目:JAVA代码|点击: 次
如何将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(Integer.valueOf(a) == Integer.valueOf("15"));
返回的结果为true,但是给我423
String a = "423";
System.out.println(Integer.valueOf(a) == Integer.valueOf("423"));
返回的结果为false,立马查看Integer的源码,发现了如下代码
public static Integer valueOf(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // must cache
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}
发现jdk未-128到127的数据做了一个缓存,如果数字在这个范围内,是不会再从新new Integer的。问题,明白了,当为423时,会创建2个对象,而我们比较是使用 == 比较地址符的,所以肯定不相同。
我们可以查看下内存地址。15的内存地址

423的地址

423的内存地址不一样。所以我们需要使用equals来做比较,不应该使用==来比较
栏 目:JAVA代码
下一篇:浅谈collection标签的oftype属性能否为java.util.Map
本文地址:http://www.codeinn.net/misctech/204635.html


阅读排行
- 1Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 2Java Swing组件BoxLayout布局用法示例
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4java中-jar 与nohup的对比
- 5深入理解Java中的克隆
- 6Java中自定义异常详解及实例代码
- 7解析SpringSecurity+JWT认证流程实现
- 8java读取excel文件的两种方法
- 9深入解析java虚拟机
- 10spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)




