如何在Java中将对象类型转换为int类型?

如何在Java中将对象类型转换为int类型?,java,oop,casting,Java,Oop,Casting,在你否决这个多余的问题之前,请听我说完。我正在寻找一种将对象类型(如可以存储许多不同类型的通配符类型)转换为int类型的方法。在我所有的搜索中,我都没有在网站上找到这个问题的答案 我有一个对象[]数组,它只存储整数,我需要使用其中一个整数执行一些数学运算。例如int result=array[3]+2。除非我能将对象转换成int,否则这个算法不会起作用 我有一个只存储整数的对象[]数组 解决方法:不要。使用Integer[],或者更好地使用int[],正如@dave已经告诉您的那样 两次强制转换

在你否决这个多余的问题之前,请听我说完。我正在寻找一种将
对象
类型(如可以存储许多不同类型的通配符类型)转换为
int
类型的方法。在我所有的搜索中,我都没有在网站上找到这个问题的答案

我有一个
对象[]
数组,它只存储整数,我需要使用其中一个整数执行一些数学运算。例如
int result=array[3]+2。除非我能将
对象
转换成
int
,否则这个算法不会起作用

我有一个只存储整数的
对象[]
数组

解决方法:不要。使用
Integer[]
,或者更好地使用
int[]
,正如@dave已经告诉您的那样

两次强制转换对象的建议效率低下且容易出错

不要因为打字太弱而给自己造成下游问题


另一个好处是,如果您关于它只存储整数的断言被证明是不真实的,那么您现在将在编译时而不是在运行时发现。

其他说
Integer[]
int[]
的说法是当数组中只添加数字时,问题的解决方案是非常true。但是,在某些情况下,我们应该遵循一些要求。因此,包含数字的
对象
可以强制转换为
整数
并将其取消装箱到
int
更可能是OP需要的

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

如果您的
对象[]
数组只存储整数,为什么不使用
整数[]
int[]
?这将使您的生活更轻松。将
对象
强制转换为
Int
有什么问题?尝试将其强制转换为
整数
,然后将其取消绑定到
Int
。被否决为冗余。问题在于
Object[]
数组本身,而不是以后要如何处理它的元素。经典XY问题。将任何
对象
转换为
int
。但不确定这是否真的对您有帮助。如果
对象
包含一个“数字”,则不一定能够强制转换为
整数
。。。使用
((数字)obj).intValue()
代替……OP明确表示它“只存储整数”’是的,我同意@EJP先生,OP说他只存储数字,但他使用Object[],而不是
Integer[]
int[]
<代码>列表
也可以,但正如我所看到的,OP希望这样,我们不知道为什么会这样。同时,我认为我们应该回答他想要的问题,但建议他和其他人,这种操作是不正确的。我对你说的其他答案“当数组中只添加数字时非常正确”的说法发表评论。OP已经明确表示这是100%的时间。为什么?你的“工作流程”要求你在流程的两端故意制造低效?直呼别人的名字并不能回答他们问你的问题,而且通常情况下,正确的答案在于改变上游的东西。为什么?在你的问题中,我也没有发现关于这些所谓的工作流需求的任何陈述。所以我不清楚我是否要求一种将对象转换为int的方法?听起来这是我工作流程的一部分不,不是。这听起来像一个XY问题,你越是拒绝透露你的实际需求,它就越是这样做。另一方面,名字显然不是任何要求的一部分。