2017-10-06 147 views
-2

在你为冗余而低调提出这个问题之前,请听我说。我正在寻找一种将Object类型(如可存储多种不同类型的通配符类型)转换为int类型的方法。在我所有的搜索中,我都没有在网站上找到这个问题的答案。如何在Java中将对象类型转换为int类型?

我有一个Object[]数组只存储整数,我需要使用其中一个整数执行一些数学运算。例如int result = array[3] + 2;。除非我可以将Object转换为int,否则此算术将不起作用。

+5

如果你的'对象[ ]'数组只存储整数,为什么不用'Integer []'或'int []'来代替?这会让你的生活更轻松。 – dave

+1

将'Object'强制转换为'Int'有什么不对? – sam

+1

尝试将其转换为'Integer',然后将其解除为“int”。 – msagala25

回答

1

是说Integer[]int[]对问题的解决方案,其他人是很。但是,在某些情况下,我们应该遵循一些要求。因此,包含数字的Object可以铸造到Integer,并将其解除到int更有可能是OP需要的。

+0

如果'Object'包含一个“数字”,则不一定可以转换为'Integer' ...使用'((Number)obj).intValue()'而不是... –

+0

OP已经特别声明它'store only integers'' – EJP

+0

是的,我同意Sir @EJP,OP说他只会存储数字,但他使用Object []而不是'Integer []'或'int []'。 '列表'也会这样做,但正如我所看到的,OP是这样想的,而且我们不知道的原因有一些。同时,我认为我们应该回答他想要的,但是建议他和其他人这样的操作是不对的。 – msagala25

-1

我有一个Object[]阵列存储仅整数

解决方案:不要。使用Integer[],或更好的int[],因为@dave已经告诉过你。

两次施放对象的建议效率低下且容易出错。

不要因为输入错误而导致下游问题。作为一个好处,如果你断言它只存储了整数,结果是不真实的,你现在将在编译时而不是在运行时找到它。当只有数字将在阵列中加入

+0

我的工作流程要求它是对象[] –

+0

需要它为什么?你的'工作流程'要求你在流程的两端建立故意的低效率? – EJP

+0

调用人名并不能回答他们问你的问题,而且正确的答案往往在于改变上游方面的情况。需要它为什么?在你的问题中,我也没有发现任何关于这些涉嫌工作流程要求的内容 – EJP

0

如果自己定义对象数组,我觉得你可以使用int数组,如果其他方法返回此数据类型,U可以转换为int,但你需要检查对象数组元素是否为

相关问题