java - 在实际应用程序生活中使用向下转型

标签 java downcast

我知道隐式转换是由编译器和虚拟机自动完成的,当 Java 不确定结果是否有效时,需要显式转换来转换数据类型。转换应该在基元之间或对象之间完成。

我的问题是:如果我的应用程序既使用整数又使用长整数 - 我应该对这两种类型都使用 long 吗?或者向下转换 long?或者转换为 int

对这两种类型使用 long 会导致一些问题吗?

最佳答案

我可能会为正确的操作选择正确的数据类型,long 如果我需要 longint 如果 int 足以满足我的要求。 常识是认为对int 使用long 可能会降低您的速度,但这同样取决于特定的JVM 实现。您必须根据您要定位的范围来决定。

同样,如果您的程序中涉及大量转换,那么最好选择像 long 这样的数据类型,它可以容纳比 int 更大的范围并使您免于在该过程中发生强制转换和数据丢失。话虽如此,long 可能比 int 慢,但在现代处理器和 JVM 中我怀疑这可能会影响很大。

可能吧,这里的高手能更好的回答这个问题。

您还可以阅读一些不错的 SO 问答 herehere .

关于java - 在实际应用程序生活中使用向下转型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17676402/

相关文章:

java - HttpServletResponse 如何到达发出请求的同一浏览器窗口

java - 检查断开的链接

java - 二维数组对象遇到问题

Java 克隆和向下转型

java - Android Java 类转换

java - 如何使用 currentTimeMillis() 在类上运行计算速度?

Javascript 向下转型对象

c++ - 当 Derived 仅添加方法时,将 Base 指针强制转换为 Derived 指针的有效性

java - 如何从父类(super class)创建一个类而不进行向下转型?

java - 什么情况下JVM会重启