在java中这些数据类型的大小是固定的,所以根本不需要sizeof()函数。
int和float型的大小都是32bits。
至于对象的大小你也不用关心,在java中,对象的内存分配是自动的。
int和float型的大小都是32bits。
至于对象的大小你也不用关心,在java中,对象的内存分配是自动的。
解决方案 »
- 怎么实现,java读1G以上的txt文件并快速入库?
- DOM4J生成XML格式转换问题
- 软件包 com.sun.jdi 不存在,请问这是什么包?
- 手机应用软件开发还需要学jsp吗
- 怎样得到drawstring到一个矩形区域里?并居中
- 保存的问题?谁有好的方法?
- 如何修改JTable里表头和表内字体的大小和颜色啊?
- 我是新人,请问import org.apache.commons.logging.Log;是从那里来的,帮我找到了就给分
- 没人能回答我这个绝世难题了吗
- 双重检查锁定 问题
- 请问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++的处理。
这个方法你同样不需要知道数据的长度。