在Java中获取数组元素的类型
发布时间:2020-12-15 04:14:39 所属栏目:Java 来源:网络整理
导读:我有以下方法: public static int arraySum(Object obj) {} 该方法应返回obj中所有元素的总和;这个方法的前提条件是obj是任何维度的整数数组,即Integer,Integer [],Integer [] []等等. 为了编写方法arraySum()的主体,我正在使用foreach循环和递归;但是,对于
我有以下方法:
public static int arraySum(Object obj) { } 该方法应返回obj中所有元素的总和;这个方法的前提条件是obj是任何维度的整数数组,即Integer,Integer [],Integer [] []等等. 为了编写方法arraySum()的主体,我正在使用foreach循环和递归;但是,对于foreach循环,我需要知道obj的元素是哪种类型.有没有办法找出obj的类型(即Integer,Integer []等)? 编辑:这是我的CS课程的作业.我不想简单地问如何编写方法,这就是我问这样一个特定问题的原因. 解决方法
我相信它比你想象的要简单:
public static int arraySum(Object obj) { if (obj.getClass() == Integer.class) return ((Integer) obj).intValue(); int sum = 0; for (Object o : (Object[]) obj) sum += arraySum(o); return sum; } 基本上我们利用任何维度的整数数组仍然是Object []的事实. Object obj = new Integer[][][]{{{1,2,3}},{{4,5,6},{7,8,9}},{{10}}}; System.out.println(arraySum(obj)); 55 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |