Java反射之数组的反射应用
2024-09-02 05:06:43
上一篇我们说了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的内省操作
最新文章
- Hibernate框架的配置
- 用node-inspector调试Node.js(转自NOANYLOVE&#39;S BLOG)
- 解决vs2008无法切换设计视图的问题
- 如何在TFS中恢复系统默认查询&rdquo;已指派给我&rdquo;的设置(TFS 2013)
- Mac平台上OpenCV开发环境搭建
- [故障处理]联想笔记本故障0x0000007B
- 《javascript高级程序设计》第五章 reference types
- 写多个物件css3循环动画案例原理
- win8 开启wifi
- 【错误】:MySql Host is blocked because of many connection errors; unblock with &#39;mysqladmin flush-hosts&#39;
- MFC常用控件CListCtrl 、CSliderCtrl、CToolTipCtrl、CTreeCtrl的自绘
- 一张图理解RACSignal的Subscription过程
- Linux - 简明Shell编程14 - 操作符(Operator)
- 非阻塞IO服务器模型
- LCA(tarjan)
- 解决idea创建Maven项目卡在running tmp archetypexxxtmp
- JSTL 学习
- java并发编程:线程安全管理类--原子操作类--AtomicLongArray
- php localeconv() 函数实例讲解
- C++ std::allocator<;T>; 与new对比效率使用
热门文章
- 吴裕雄--天生自然HTML学习笔记:HTML <;div>; 和<;span>;
- vue项目根目录下index.html中的id=";app";,与src目录下的App.vue中的id=";app";为什么不会冲突
- JDBC连接到数据库查询打印数据
- [PHP] 报错和&ldquo;@&rdquo; - 工作
- 谈谈Spring的IoC之注解扫描
- hexo-next-travis-ci 构建自动化部署博客
- 张益肇:AI 医疗,微软有哪些布局?
- 算法拾遗[4]&mdash;&mdash;STL用法
- word2vec的简单理解
- 【HI AI:人机协同 赋能未来系列】计算机是最好的左脑