- 浏览: 96625 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
jameswolf:
补肾啊!冬天多喝,但是补只是后招,别漏才是真理,呵呵
朋友告诉我的神粥秘方 -
wa327114652:
很想学习,但能再详细点吗?
for java beginner 5-2 - 自己实现枚举-下 -
superlittlefish:
不错,简单易懂.一直在看你的blog,感觉反射写的挺好的.让我 ...
for java beginner 15 下java反射在框架里的应用 读取properties文件
java 反射 数组的反射
数组也是一种类型,当然可以反射
如果数组的 类型 维度 一样,那么他们反射出来的 字节码是一样的
-----------
-------------------------
数组也是一种类型,当然可以反射
如果数组的 类型 维度 一样,那么他们反射出来的 字节码是一样的
-----------
package com.ncs; import java.lang.reflect.Array; import java.util.Arrays; public class ArrayReflct { public static void main(String[] args) { //数组也是一种类型,当然可以反射 //如果数组的 类型 维度 一样,那么他们反射出来的 字节码是一样的 int[] a1 = new int[3]; int[] a2 = new int[4]; int[][] a3 = new int[2][3]; String[] a4 = new String[3]; System.out.println(a1.getClass() == a2.getClass()); //true System.out.println(a1.getClass() == a4.getClass()); //false System.out.println(a1.getClass() == a3.getClass()); //false System.out.println(a1.getClass().getName()); //[I 名字很奇怪,可以看JDK帮助,里面有 System.out.println(a1.getClass().getSuperclass().getName()); //java.lang.Object System.out.println(a4.getClass().getSuperclass().getName()); //java.lang.Object Object object1 = a1; Object object2 = a4; //Object[] object3 = a1; //★只有这个不可以,基本类型不是OBJECT Object[] objects4 = a3; Object[] objects5 = a4; //-------------下面再说一个 幽禁的东西 //int[] myIntArr = new int[3]{1,2,3}; //不要弄这样的错误,既然给值了,就不要说 长度了 int[] myIntArr = new int[]{1,2,3}; //不要弄这样的错误,既然给值了,就不要说 长度了 String[] myStrArr = new String[]{"a","b","c"}; //我现在要打印,懒的用 loop 怎么办 System.out.println(myIntArr); //[I@6b97fd System.out.println(myStrArr); //[Ljava.lang.String;@1c78e57 //不是我要的效果,用一个 帮助 类 System.out.println(Arrays.asList(myIntArr));//[[I@6b97fd] System.out.println(Arrays.asList(myStrArr));//[a, b, c] //Object 可以了, 但是 基本类型给你弄了个东西,把它当成一个元素了 //怎么会这样呢?? //1.4 里 是这样的 public static List asList(Object[] a) //所以它拿到 myStrArr 就 匹配这个方法了 //而 myIntArr 不是 Object[] ,看看上面★号的地方 //1.4说,不是我的事情了,你1.5有本事就自己拿去处理吧 //1.5 是这样的 public static <T> List<T> asList(T... a) //这个说把你一堆东西弄成一个list //现在进来 myIntArr 它只把你当一个object //处理的办法不知道了, 还是用 loop 吧[对于 基本类型] //想出来了,用 数组的反射技术 //Object obj = null; //printObject(obj); System.out.println("======================="); //test int[] myIntArr2 = new int[]{1,2,3}; String[] myStrArr2 = new String[]{"a","b","c"}; String str = "hubin"; printObject(myIntArr2); printObject(myStrArr2); printObject(str); //自己写的比 JDK 里的好多了★★ //----------怎么得到数组的元素类型呢?? String[] testStrArr = new String[]{"a","b","c"}; System.out.println(testStrArr.getClass().toString()); //class [Ljava.lang.String;原来是String类型 } private static void printObject(Object obj) { //这里就是给你打印了 //参数是 object 什么都可以进来,所以要判断一下 //是 数组 ,就给你一个一个 弄出来 ,不是数组,就直接打印好了 //★这里SUN给了个类 用来操作 数组 Array Class clazz = obj.getClass(); //不可能会有 obj.length ,你怎么知道obj就是数组呢?????????? if(clazz.isArray()){ //这就是了 //是了我就要一个一个把你弄出来 //需要那个类了 int length = Array.getLength(obj); for(int i=0;i<length;i++) { System.out.println(Array.get(obj, i)); } }else { //这里不是数组了 System.out.println(obj); } } }
-------------------------
发表评论
-
pull解析器通用解析XML与生成XML
2013-02-23 14:52 0pull解析器,简单易用,android都在用,肯定有他的优 ... -
java decompiler - a tool to view jar file
2012-02-15 22:26 1018有时候还是很需要看看人家JAR包里写的什么乱七八糟的东西,这东 ... -
JAVA工作
2011-07-20 21:11 729################## Applet ... -
helios-use-subversion-behind-proxy
2011-04-04 16:30 767download the eclipse helios in ... -
IBM发布时间不足解决方法
2011-02-17 19:16 762D:\IBM\SDP\runtimes\base_v61\p ... -
log4j简单例子
2010-10-03 18:27 863简单点说, 写程序时,有时懒得debug,就直接Sy ... -
java 泛型-1-使用而已
2009-12-01 23:39 1117023-java1.5泛型-1 懒人想的 把检查代码的工作交 ... -
java 1.5 annotation-3 设值让反射拿
2009-12-01 20:39 1576java 1.5 annotation 的use 前面的什么 ... -
java 1.5 annotation-2
2009-11-30 23:28 1184java 1.5 注解-2[非常重要 比每举重要] 刚刚只是 ... -
java 1.5 annotation-1
2009-11-30 21:07 1304java 1.5 注解[非常重要 比每举重要] 1.5后的新 ... -
for java beginner-19 beanutils包
2009-11-29 22:20 752019-使用BeanUtils工具包操 ... -
for java beginner-18 JAVABEAN规范-1
2009-11-29 21:12 1030018-JAVABEAN规范-1 IntroSpec ... -
for java beginner 17 配置文件的知识
2009-11-29 19:29 780017 配置文件的知识 刚刚已经说到 配置文件,我说放 工程 ... -
for java beginner 15 下java反射在框架里的应用 读取properties文件
2009-11-29 17:44 1386java 框架基础 ------------------- ... -
for java beginner 14 ArrayList HashSet HashCode(中)
2009-11-29 13:24 1138java 反射 数组的反射 ArrayList HashSe ... -
for java beginner13java 反射 数组的反射(上)其实是讲ArrayList HashSet HashCode
2009-11-29 12:35 936java 反射 数组的反射(上 ... -
for java beginner11 java 反射 Method类
2009-11-29 08:30 1286java 反射 Method类 str1.charAt() ... -
for java beginner10 java 反射 Field类
2009-11-29 07:17 3542java 反射 Field类 -------用到一个bea ... -
for java beginner 9 java反射的概念和Constructor 类
2009-11-29 07:13 1390java 反射 的概念 和 Constructor 类 反 ... -
for java beginner 8 java 反射的基础基础Class的理解
2009-11-29 07:09 1030java 反射 的基础基础 Class的理解 反射 在 1 ...
相关推荐
introduce in english
Java A Beginner's Guide(6th) 英文无水印pdf 第6版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系...
So many books out there can teach you those skills in Java, C++, or C#. Many of them even claim that they can teach you in 24 hours! Don’t laugh! They probably can do that, but all of them take one ...
1. Java语言介绍:Java是一种高级编程语言,广泛应用于企业级应用、移动应用和Web服务等领域。Java具有面向对象、平台无关、安全性高和稳定性强等特点,是初学者学习编程的常见选择。 2. Java初学者指南:《JAVA A ...
这本《Java A Beginner’s Guide》第六版是由著名作者赫伯特·席尔德特撰写,席尔德特在编程领域有近三十年的经验,并且是Java语言领域的权威专家。他的书籍销量超过数百万册,被翻译成世界上的所有主要外语。他的...
Pentaho 8 Reporting for Java Developers 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Fully updated to cover Java Platform, Standard Edition 7 (Java SE 7), Java: A Beginner's Guide, Fifth Edition starts with the basics, such as how to compile and run a Java program, and then discusses...
3. **数组**:如何声明、初始化和操作数组,以及一维和多维数组的应用。 4. **异常处理**:理解Java中的异常类型,如何抛出和捕获异常,以及try-catch-finally语句块的使用。 5. **输入输出流**:介绍I/O流的概念...
12. **反射与注解**:反射允许程序在运行时检查类、接口和对象的信息,而注解为代码提供了元数据,增强了代码的可读性和可维护性。 13. **泛型与枚举**:泛型提供了一种方式来限制容器存储的数据类型,枚举则是一种...
- **应用领域**:Java广泛应用于Web应用、移动应用(尤其是Android应用)、大型企业系统、服务器端应用等领域。 #### 二、Java环境搭建 - **JDK安装**:Java Development Kit (JDK) 是Java编程的基础,包含了...
- ASCII 和 Unicode 字符集的区别及其在 Java 中的应用。 - 如何处理非英文字符和国际化问题。 - **分隔符:** - 介绍了 Java 中的分隔符,如逗号、分号的作用。 - 解释了分隔符对于语句结构的重要性。 - **...
Algorithm-Machine-Learning-for-Beginner-by-Python3.zip,斯克莱恩、坦索流。,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。
Java A Beginner's Guide(6th) 英文epub 第6版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Java A Beginner's Guide(6th) 英文mobi 第6版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Java A Beginner’s Guide(7th) 英文epub 第7版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Java A Beginner’s Guide(7th) 英文azw3 第7版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除