【发布时间】:2013-07-16 20:44:05
【问题描述】:
我知道隐式转换是由编译器和虚拟机自动完成的,当 Java 不确定结果是否有效时,需要显式转换来转换数据类型。转换应该在基元之间或对象之间进行。
我的问题是:如果我的应用程序同时使用整数和长整数 - 我应该对这两种类型都使用 long 吗?或向下转换long?还是投给int?
对这两种类型使用 long 会导致一些问题吗?
【问题讨论】:
-
您应该确保您的变量可以容纳所有有效值。如果一个变量可以包含大于最大整数的值,它应该是一个长整数。
-
@Heuster:所以一切都需要很长时间?
-
@Thilo 我认为您在实践中几乎不会遇到“孤独”的 long ......要么很多值都很大(在这种情况下 long 是唯一合乎逻辑的选择),要么根本没有。所以不,不只是渴望一切,只有在有意义的时候才渴望:)
-
@Thilo
long常用来表示货币(考虑到float的精度问题),它也常用来表示时间戳,也用于自动递增的 ID。要点是:有一些特定的用例需要 64 位整数,其中 9/10 是 - 如果考虑得当 - 您将能够在设计阶段识别出来。