请问再Java中怎样怎样获得一个对象的大小????? 好像是不行的,在java中没有这个必要吧,你有什么用呢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先好像这样做确实没有太大的必要.其次,好像也不是完全没有办法.比如如果你的对象声明了序列化接口,那么可以把它序列化到字节流中,看看流的长度就知道你的对象的大小了.另外,在Java的本地方法中是可以知道对象的大小的. MyClassA{ String str;}MyClassB{ String str = null;}MyClassC{ String str = "";}上面三个类的大小关系是怎样啊? 类没有实例化哪里有什么大小?大小也是实例化后的对象的大小看看下面的程序,按照你定义的意思来做的:import java.io.*;public class Test { private static class MyClass implements Serializable { public String str; } public static void main(String[] args) throws Exception { MyClass c1 = new MyClass(); MyClass c2 = new MyClass();c2.str=null; MyClass c3 = new MyClass();c3.str=""; MyClass c4 = new MyClass();c4.str="ABC"; test(c1); test(c2); test(c3); test(c4); } private static void test(MyClass c) throws Exception { ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(bos); oos.writeObject(c); System.out.println("Length="+bos.toByteArray().length); oos.close(); bos.close(); }}输出的结果是:Length=61Length=61Length=63Length=66看完这段程序,明白对象的大小的概念了吧. 那也就是说,c1、c2,c3,c4 在内存中所占的内存大小也是不一样的了。是吗? 一篇英文的文章,供参考http://www.javaworld.com/javaworld/javatips/jw-javatip130.html Image转为BufferedImage后,得到全黑的图片 文件读取中遇到的一个小问题(在线等!~) JPanel的调用问题 真正无人能解的问题,哈哈 布署到jboss4.2出错 java 保护性拷贝 先祝大家五 一 快乐!!!简单问题 关于对象的?? 很简单的问题,第一个帮我解决的人送10分! 我在dos 下java命令无效,javac有效?why? 书上的源代码运行出错,看不懂出错信息,各位帮忙看看。 SOS,比如我现在有两个java的源文件,在JB中建立一个PROJECT把这两个文件加入然后运行主java文件,但提示出错! 请过来看一下
比如如果你的对象声明了序列化接口,那么可以把它序列化到字节流中,看看流的长度就知道你的对象的大小了.另外,在Java的本地方法中是可以知道对象的大小的.
String str;
}MyClassB{
String str = null;
}MyClassC{
String str = "";
}上面三个类的大小关系是怎样啊?
大小也是实例化后的对象的大小
看看下面的程序,按照你定义的意思来做的:import java.io.*;public class Test {
private static class MyClass implements Serializable {
public String str;
} public static void main(String[] args) throws Exception {
MyClass c1 = new MyClass();
MyClass c2 = new MyClass();c2.str=null;
MyClass c3 = new MyClass();c3.str="";
MyClass c4 = new MyClass();c4.str="ABC"; test(c1);
test(c2);
test(c3);
test(c4);
} private static void test(MyClass c) throws Exception {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(c);
System.out.println("Length="+bos.toByteArray().length);
oos.close();
bos.close();
}
}
输出的结果是:
Length=61
Length=61
Length=63
Length=66
看完这段程序,明白对象的大小的概念了吧.
http://www.javaworld.com/javaworld/javatips/jw-javatip130.html