【发布时间】:2013-10-28 13:40:04
【问题描述】:
我有以下方法:
public static int arraySum(Object obj) {
}
该方法应该返回 obj 中所有元素的总和;该方法的前提条件是obj是任意维度的Integer数组,即Integer、Integer[]、Integer[][]等。
为了编写方法arraySum() 的主体,我使用了foreach 循环和递归;但是,对于 foreach 循环,我需要知道 obj 的元素是哪种类型。有没有办法找出obj的类型(即Integer、Integer[]等)?
编辑:这是我的 CS 课程的作业。我不想简单地问如何编写方法,这就是为什么我要问这样一个具体的问题。
【问题讨论】:
-
您不只使用 2 个重载是否有特定原因?
-
if(myarray[I] instanceof type) ....;你觉得这就是你想要的吗?
-
@JeroenVannevel 不确定什么是过载:P
-
@pedromss
obj可以有任意数量的维度,这意味着很多很多的 if 语句 -
与stackoverflow.com/questions/5670972/… 相关。你应该有充分的理由想要这样做。对我来说,这听起来像是一个 XY 问题。也许你应该给我们更多关于你为什么要这样做的背景信息。
标签: java arrays object integer