String str[] = (String[])listget(i);
这句好像有点问题,listget(i)是获取一个对象
你直接强制转换成String的吧。
然后IntegerparseInt(str[0]),用IntegerparseInt(str[0])和number比较大小吧!
通俗的讲:
1基本数据类型(四类八种):包装类的size字段获得
/实际上基本数据类型就那四类八种,完全可以记住所占的大小,然后判断类型直接计算得到总共占有多少内存/
2数组型通过length属性
3字符串length()方法
可运行代码:
public class Dd {
public static void main(String args[]){
int a=456653; //int整型,通过包装类Integer:int--》Ingeger
Integer ii=new Integer(a); //通过Integer类包装,将简单类型转换为符合数据类型(类),以便通过Integer的静态方法size得到二进制的位数。
Systemoutprintln("数值为:"+ii); //输出
Systemoutprintln("二进制位数:"+iiSIZE+"B"+" "+"所占内存字节数为:"+iiSIZE/8+"b");
//所占内存大小B:位;b表示字节。
/同理可通过基本数据类型各自的包装类求得short--》Short,double--》Double,char--》Character,long--》Long内存大小/
/实际上基本数据类型就那四类八种,完全可以记住所占的大小,然后判断类型直接计算得到总共占有多少内存/
short shs=34;
Short shor=new Short(shs);
Systemoutprintln("数值为:"+shs);
Systemoutprintln("二进制位数:"+shorSIZE+"B"+" "+"所占内存字节数为:"+shorSIZE/8+"b");
/数组类型:通过属性length获取/
int [] iis={2,4,3};
Systemoutprintln("数组大小:"+iislength+" 内存根据计算得到");//获得数组长度,单位是数组内对象的个数,具体占多少内存要根据数组内对象元素所占内存数而计算得到
/字符串类型的:通过方法length()获得/
String str="hello";
Systemoutprintln(str);
Systemoutprintln("字符串长度:"+strlength()+" 内存数根据计算得到");
//获得字符串长度,单位是字符数。
//然后根据中文英文字符占有几个字节,数字占有几个字节计算得到内存大小。
}
}
你说的内存空间应该是字节为单位的吧,可以转换成字节计算。
说的有点乱,但愿对你能有所帮助
Object o=new Object():
在java中空对象占八个字节,对象的引用占四个字节。所以上面那条语句所占的空间是4byte+8byte=12bytejava中的内存是以8的倍数来分配的,所以分配的内存是16byte
举个例子:
Class O{
int i;
byte j;
String s;
}
其所占内存的大小是空对象(8)+int(4)+byte(1)+String引用(4)=17byte,因要是8的整数倍,所以其占大小为24byte
当然,如果类里有其他对象的话,也要把其他对象的空间算进去
以上就是关于JAVA 已经成功得到两个对象值,但不是整型,如何比较大小全部的内容,包括:JAVA 已经成功得到两个对象值,但不是整型,如何比较大小、如何查询数据类型所占的内存空间 用java描述更好、一个Java对象到底占用多大内存等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)