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(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中对象的创建与对象的数据类型转换
Java:对象创建和初始化过程 1.Java中的数据类型 Java中有3个数据类型:基本数据类型(在Java中,boolean.byte.short.int.long.char.float.double这八种是基本数据类型).引用类型和null类型.其中,引用类型包括类类型(含数组).接口类型. 下列语句声明了一些变量: int k ; A a; //a是A数据类型的对象变量名. B b1,b2,-,b10000;// 假定B是抽象类或接口. String s; 注意:从数据类型
-
java的各种类型转换全部汇总(推荐)
java类型转换 Integer String Long Float Double Date 1如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i = Integer.valueOf(my_str).intValue(); 注: 字串转成 Double, Float, Long 的方法大同小
-
Java数据类型转换详解
一.基本数据类型阐述 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. [注]JAVA没有unsigned类型 (1). 整数:int,short,byte,long (2). 浮点型:float,double (3). 字符:char (4). 布尔:boolean 基本型别 大小 最小值 最大值 void boolean ----- -----
-
Java 数据类型及类型转换的互相转换实例代码
一.基本数据类型 java的数据类型可以分为两大类:基本类型和复合类型. 基本类型:整型(int,short,long,byte).浮点型(float,double).布尔型(boolean).和字符型(char) 复合类型:数组,类,接口 1.整型 各种整型数据所占空间及数的范围 数据类型 所占内存空间/位 数的范围 byte 8 -128~127 short 16 -32768~32767 int 32 -2^31~2^31-1 long 64 -2^63~2^63-1 整型以补码的形式存放
-
java中long数据类型转换为int类型
由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参考: 一.强制类型转换 long ll = 300000; int ii = (int)ll; 二.调用intValue()方法 long ll = 300000; int ii= new Long(ll).intValue(); 三.先把long转换成字符串String,然后在转行成Integer long ll = 300000; i
-
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.toSt
-
java如何将Object数组转换为指定类型数组
目录 将Object数组转换为指定类型数组 1.转换函数 2.测试main函数 3.实体类 将Object转换为数组的情况 将Object数组转换为指定类型数组 1.转换函数 public static <T> T[] convertArray(Class<T> targetType, Object[] arrayObjects) { if (targetType == null) { return (T[]) arrayObject
-
使用Java代码将IP地址转换为int类型的方法
基本知识点 IP --> 整数: 把IP地址转化为字节数组 通过左移位(<<).与(&).或(|)这些操作转为int 整数 --> IP: 将整数值进行右移位操作(>>>),右移24位,再进行与操作符(&)0xFF,得到的数字即为第一段IP. 将整数值进行右移位操作(>>>),右移16位,再进行与操作符(&)0xFF,得到的数字即为第二段IP. 将整数值进行右移位操作(>>>),右移8位,再进行与操
-
Java形参和实参的实例之Integer类型与Int类型用法说明
经常会有这样一道面试题,有两个整形变量分别是a = 1 ,b = 2.编写一个方法swap互换他们的值. class Main { public static void main ( String [] args ) { Integer a = 1 ; Integer b = 2 ; System . out . println ( "a=" + a + ",b=" + b
-
Java任意长度byte数组转换为int数组的方法
前言 嗯.最近工程上遇到一个byte数组转换为int的问题,解决过程中遇到了几个坑,经过各种查资料终于还是解决了.撒花. Java的位运算以及byte数组与其他类型数据的转换比c/c++感觉麻烦一些.这里简单说明一下byte数组和int的转换吧. 总所周知,int类型数据在Java中占据32 bit,byte占据8 bit,这样的话,正常情况下4个byte可以转换成一个int类型数据. 当然,不正常情况下,3个byte或者2个byte甚至1个byte都可以转换为int数据,只需要高位补上就行.
-
javaScript把其它类型转换为Number类型
一:基本类型 字符串 把字符串转换为数字,只要字符串中包含任意一个非有效数字字符(第一个点除外)结果都是NaN,空字符串会变为数字零 console.log(Number("12.5")); //12.5 console.log(Number("12.5px")); //NAN console.log(Number("12.5.5px"));//NAN console.log(Number(""));//0 布尔 consol
-
Python3中bytes类型转换为str类型
Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str和bytes,你不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然),也不能将字符串传入参数为字节流的函数(反之亦然). 问题背景 基于URL解析报文的时候,URL链接出现str类型+bytes类型是报错TypeError,如何解决这个问题呢? 解决方案 方法一:利用str函数 方法二:利用b
-
sqlserver中将varchar类型转换为int型再进行排序的方法
如果我们数据库的ID设置为varchar型的 在查询的时候order by id的话我们是不希望看到如下情况的. 我们可以把varchar转换为int 然后进行排序 一. 复制代码 代码如下: select * from yourtable order by cast(yourcol as int); 适用于SQLServer Oracle 二. 复制代码 代码如下: select * from yourtable order by convert(int,yourcol); 仅适用于SQLSe
-
sql将时间类型转换为字符串类型汇总
日期时间转字符串 复制代码 代码如下: Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 Select C
随机推荐
- 超级REAL视频播放器
- 常用的批处理实用技巧
- VBScript语法速查及实例说明
- Java基于正则表达式实现的替换匹配文本功能【经典实例】
- Linux I/O多路复用详解及实例
- JS版获取字符串真实长度和取固定长度的字符串函数
- Android中实现用命令行同步网络时间
- Jsp敏感词过滤的示例代码
- C++实现位图排序实例
- JavaWeb使用Session和Cookie实现登录认证
- 了解WEB页面工具语言XML(六)展望
- Ruby升级后no such file to load -- readline解决办法
- w3wp进程发生死锁ISAPI aspnet_isapi.dll报告它自身有问题,原因Deadlock detected
- JS自定义函数对web前端上传的文件进行类型大小判断
- 关关小说采集器[杰奇]采集出错的修正方法
- Java的SPI机制实例详解
- Java对MySQL数据库进行连接、查询和修改操作方法
- java利用url实现网页内容的抓取
- PHP/HTML混写的四种方式总结
- Android反编译代码和防止反编译