Java android上的基本类型与托管类型-我应该在我的应用程序中使用哪一种

Java android上的基本类型与托管类型-我应该在我的应用程序中使用哪一种,java,android,Java,Android,我正在尝试将iphone应用程序移植到android。我对java和android环境完全陌生 我在网上看到了不同的代码示例,有些使用int和boolean,有些使用Integer和boolean 我想知道两者的利弊,哪一个是最好的前进方向 由于基本类型保存在堆栈上,并且不会对它们进行垃圾收集,所以就性能而言,它们肯定是更好的选择吗 原始v/s管理类型的真正好处是什么?建议的方法是什么 在我的应用程序中,性能至关重要 提前感谢当您需要对象时,将使用包装器类型。例如:为了能够在集合(如列表或集合)

我正在尝试将iphone应用程序移植到android。我对java和android环境完全陌生

我在网上看到了不同的代码示例,有些使用int和boolean,有些使用Integer和boolean

我想知道两者的利弊,哪一个是最好的前进方向

由于基本类型保存在堆栈上,并且不会对它们进行垃圾收集,所以就性能而言,它们肯定是更好的选择吗

原始v/s管理类型的真正好处是什么?建议的方法是什么

在我的应用程序中,性能至关重要


提前感谢

当您需要对象时,将使用包装器类型。例如:为了能够在集合(如列表或集合)中存储整数,需要将原语转换为对象(整数)

包装器在基本类型上还有另一个特性:它们是可空的。因此,例如,为了表示存储在数据库表的可空列中的整数值,您将使用integer而不是int来存储空值


基本上,我的建议是:使用基本类型,但不能使用的除外(例如,出于我刚才解释的原因之一)。

包装器类型在需要对象时使用。例如:为了能够在集合(如列表或集合)中存储整数,需要将原语转换为对象(整数)

包装器在基本类型上还有另一个特性:它们是可空的。因此,例如,为了表示存储在数据库表的可空列中的整数值,您将使用integer而不是int来存储空值


基本上,我的建议是:使用基本类型,但不能使用的除外(例如,出于我刚才解释的原因之一)。

通常,坚持使用int、boolean等,但要注意过度的自动装箱。例如,在紧密循环中,确保没有不必要地包装/展开它们


Eclipse可以警告您这些问题。可能其他IDE也可以做到这一点。

通常,坚持使用int、boolean等,但要注意过度的自动装箱。例如,在紧密循环中,确保没有不必要地包装/展开它们


Eclipse可以警告您这些问题。可能其他IDE也可以做到这一点。

UI线程上的任何分配都可能导致性能问题,因为此时垃圾回收开始,并且(在糟糕的一天)可能需要1/4秒的时间,这在屏幕刷新时可见。因此,正如@JB Nizet所说的,尽可能使用原语。Trove primitive collections库可以帮助实现这一点,不过我建议通过pro guard运行库或应用程序来限制库的大小

UI线程上的任何分配都可能导致性能问题,因为垃圾回收在此时开始,并且(在糟糕的一天)可能需要1/4秒的时间(在屏幕刷新时可见)。因此,正如@JB Nizet所说的,尽可能使用原语。Trove primitive collections库可以帮助实现这一点,不过我建议通过pro guard运行库或应用程序来限制库的大小

太好了!任何更多的赞成/反对意见:-)完美!更多的赞成/反对意见,请欣赏:-)