当前位置: 技术问答>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++的处理。
这个方法你同样不需要知道数据的长度。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。