在java中这些数据类型的大小是固定的,所以根本不需要sizeof()函数。
int和float型的大小都是32bits。
至于对象的大小你也不用关心,在java中,对象的内存分配是自动的。
int和float型的大小都是32bits。
至于对象的大小你也不用关心,在java中,对象的内存分配是自动的。
解决方案 »
- try。。。catch问题
- 计算机内部是怎么实现随机的?
- SimpleDateFormat类怎么将"W"定义为一周开始为周一?
- 急 ~~~~~ javax.xml.xpath.XPath解析有namespace XML失败
- 不行了 TOMCAT5.5JNDI问题。。。求救
- Java Swing中出现乱码,怎么解决?
- applet的系统时间获取问题
- 50分请教如何让程序在后台运行(以任务栏右下角的图标方式运行)
- 简单问题:已经编译好的*.class要如何在网页中使用它
- 我在开发文档贴了一个java关键字的帖子快去看!!!!
- 请问JavaScript可以和Applet进行数据交互或函数调用吗?如果可以怎么进行呢?谢谢
- 关于private,小弟我有一题不懂
问题是:在我的一个类中有一个类成员(比如:一个MyMessage类中有一个MyMessageHeader类和buffer区),MyMessageHeader中定义了很多成员,然后MyMessage中有一个方法createMessage(int size),这个size是buffer的大小,我想在其它类调用这个方法时我自动加上MyMessageHeader类的大小,这样我就必须知道MyMessageHeader类的大小,同时我不想通过一个一个字节硬算出MyMessageHeader的大小,不知有何办法?
对象里面可能含有引用,比如Vector和对象引用,Vector包含的只是对象集合的一个指引,
完全计算对象大小不太实际
是的,我想将buffer内容传给一个C++程序。
class A {
int a;
float f;
char c;
public String toString() {
StringBuffer temp=new StringBuffer(100);
temp.append(a);
temp.append(f);
temp.append(c);
return temp.toString();
}
}
然后你可以使用String的length()方法得到大小或者直接将它转化为一个字节数组:
A a=new A();
byte b[]=a.toString().getBytes();
这个方法的缺点就是数字的每一位都变成了一个char。
然后你可以将b的内容加入缓冲区,但是在c++中你还得处理。这是必须的,java是平台无关的,而c++是平台相关的。你可以在toString()方法生成字符串的时候加入格式信息以方便c++的处理。
这个方法你同样不需要知道数据的长度。