【发布时间】:2011-02-05 01:04:39
【问题描述】:
对具有多种可能数据类型的 java 对象进行建模的最节省内存的方法是什么: 例如
public class Cell{
short type
int _int
double _double
String _string
}
然后实例化这个对象,并在设置类型时设置适当的值,同时让所有其他对象为空。 (我怀疑这会占用内存,即使是除 String 之外的 null?)
或者,
public class Cell
{
short type
}
public class StringCell extends Cell
{
String _string
}
其中每种类型都是某个公共类的子类,只有相应的数据类型。 (我怀疑会有一些与子类相关的内存开销)
【问题讨论】:
-
在字段设置(或设置为空)后,您打算如何处理这些字段?继承听起来像你想要的。 Cell 在所有类型中都会有一些共同的行为?但是根据单元格的类型,你会有一些特殊的行为吗?
-
是的,所有单元格和特定单元格的工作都会有共同的东西。
-
出于好奇,你是在写解释器吗?
-
不要认为 excel 之类的实现需要存储单元格,单元格如数字、字符串、布尔值、日期值。
标签: java memory object subclass