当前位置: 技术问答>java相关
请问:java中如何实现C++中的sizeof()方法?
来源: 互联网 发布时间:2015-02-13
本文导语: sizeof()用来判断如int, float或者一个类的大小? | 这样的话,一般的通常方法是实现类的toString方法,例如这样的类: class A { int a; float f; char c; public String toString() { StringBuffer temp=new S...
sizeof()用来判断如int, float或者一个类的大小?
|
这样的话,一般的通常方法是实现类的toString方法,例如这样的类:
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++的处理。
这个方法你同样不需要知道数据的长度。
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++的处理。
这个方法你同样不需要知道数据的长度。