在你将这个问题归结为多余之前,请听我说。我正在寻找一种方法将Object
类型(如可以存储许多不同类型的通配符类型)转换为int
类型。在我的所有搜索中,我都没有在网站上找到这个问题的答案。
我有一个Object[]
数组,只存储整数,我需要使用其中一个整数执行一些数学运算。例如int result = array[3] + 2;
。除非我可以将Object
转换/转换为int
,否则此算法将无效。
答案 0 :(得分:1)
其他说Integer[]
和int[]
的问题的解决方案非常 true ,只会在数组中添加数字。但是,在某些情况下,我们应该遵循要求。因此,包含号码的Object
可以投放到Integer
,将其展开到int
更有可能是OP所需要的。
答案 1 :(得分:0)
如果你自己定义了对象数组,我想你可以使用int数组,如果其他方法返回这个数据类型,你可以转换为int,但你需要检查对象数组元素是否不是
答案 2 :(得分:-1)
我有一个
Object[]
数组,只存储整数
解决方案:不要。使用Integer[]
,或者更好的int[]
,正如@dave已经告诉过你的那样。
将对象强制转换两次的建议效率低且容易出错。
弱键入不会给自己造成下游问题。
作为附带好处,如果你断言它只存储整数,那么你现在可以在编译时找到它,而不是在运行时。