上一篇我们说了Java反射之成员方法的反射

这一篇我们说一说数组的反射应用,数组的有长度等属性,所以也会有相应的方法获得这些属性,这里我们不一一列举哪些方法。我们来了解反射包中的一个类----Array类,它比util包中的Arrays少了一个s。

[一] Array类中的一些方法

static Object get(Object array, int index):返回绑定的数组对象相应下标的值。

和这一方法相似的,用于返回特定的类型值的方法:



其中static int getLength(Object array) :返回数组的长度。

**static Object newInstance(Class<?> componentType, int... dimensions) ** :创建一个特定类型、特定维度的数组。

除了get方法,还有一堆相应的set方法这里就省略介绍了。

[二] 案例演示:打印所有对象,如果是数组,则拆开打印

	public static void main(String[] args) throws Exception {

		Object[] obj1 = new String[]{"abc","ab","cc"};
Object obj2 = new String("我不是数组");
printObject(obj2);
printObject(obj1);
} private static void printObject(Object obj) {
Class cls = obj.getClass();
if(cls.isArray()){
//如果是数组
for(int i = 0;i < Array.getLength(obj);i++){
System.out.println(Array.get(obj, i));
}
}else {
//如果不是数组
System.out.println(obj);
}
}

结果:

我不是数组
abc
ab
cc

下一篇介绍Java反射之对JavaBean的内省操作

最新文章

  1. Hibernate框架的配置
  2. 用node-inspector调试Node.js(转自NOANYLOVE&#39;S BLOG)
  3. 解决vs2008无法切换设计视图的问题
  4. 如何在TFS中恢复系统默认查询&rdquo;已指派给我&rdquo;的设置(TFS 2013)
  5. Mac平台上OpenCV开发环境搭建
  6. [故障处理]联想笔记本故障0x0000007B
  7. 《javascript高级程序设计》第五章 reference types
  8. 写多个物件css3循环动画案例原理
  9. win8 开启wifi
  10. 【错误】:MySql Host is blocked because of many connection errors; unblock with &#39;mysqladmin flush-hosts&#39;
  11. MFC常用控件CListCtrl 、CSliderCtrl、CToolTipCtrl、CTreeCtrl的自绘
  12. 一张图理解RACSignal的Subscription过程
  13. Linux - 简明Shell编程14 - 操作符(Operator)
  14. 非阻塞IO服务器模型
  15. LCA(tarjan)
  16. 解决idea创建Maven项目卡在running tmp archetypexxxtmp
  17. JSTL 学习
  18. java并发编程:线程安全管理类--原子操作类--AtomicLongArray
  19. php localeconv() 函数实例讲解
  20. C++ std::allocator&lt;T&gt; 与new对比效率使用

热门文章

  1. 吴裕雄--天生自然HTML学习笔记:HTML &lt;div&gt; 和&lt;span&gt;
  2. vue项目根目录下index.html中的id=&quot;app&quot;,与src目录下的App.vue中的id=&quot;app&quot;为什么不会冲突
  3. JDBC连接到数据库查询打印数据
  4. [PHP] 报错和&ldquo;@&rdquo; - 工作
  5. 谈谈Spring的IoC之注解扫描
  6. hexo-next-travis-ci 构建自动化部署博客
  7. 张益肇:AI 医疗,微软有哪些布局?
  8. 算法拾遗[4]&mdash;&mdash;STL用法
  9. word2vec的简单理解
  10. 【HI AI:人机协同 赋能未来系列】计算机是最好的左脑