Public class A
{
int a;
}
VS。
java.lang.Integer中
或长,双打等 他们的内存是否相同?或者更多/更少?如果我没有遗漏任何答案应该是相同的......
答案 0 :(得分:0)
包装类的目的是能够将原语作为对象处理,方法是将它包装在Integer
对象中,允许您从中调用方法,或者将其作为参数传递给参数。需要Object
而不是原语。
不建议为原语创建自己的包装器,例如你现在正在做的,因为它不允许 auto -boxing和unboxing of primitives 。您正在丢失更多功能,但如果我们谈论内存,您将使用Integer
而不是个人包装器来节省更多内存,因为整数对象有一个常量池,允许您可以重新使用池中预先存在的值(如果存在),而不是每次都创建一个新对象。您需要实现 flyweight模式以实现相同类型的内存节省系统。