- 浏览: 92964 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
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 961有时候还是很需要看看人家JAR包里写的什么乱七八糟的东西,这东 ... -
JAVA工作
2011-07-20 21:11 687################## Applet ... -
helios-use-subversion-behind-proxy
2011-04-04 16:30 732download the eclipse helios in ... -
IBM发布时间不足解决方法
2011-02-17 19:16 723D:\IBM\SDP\runtimes\base_v61\p ... -
log4j简单例子
2010-10-03 18:27 822简单点说, 写程序时,有时懒得debug,就直接Sy ... -
java 泛型-1-使用而已
2009-12-01 23:39 1025023-java1.5泛型-1 懒人想的 把检查代码的工作交 ... -
java 1.5 annotation-3 设值让反射拿
2009-12-01 20:39 1544java 1.5 annotation 的use 前面的什么 ... -
java 1.5 annotation-2
2009-11-30 23:28 1148java 1.5 注解-2[非常重要 比每举重要] 刚刚只是 ... -
java 1.5 annotation-1
2009-11-30 21:07 1268java 1.5 注解[非常重要 比每举重要] 1.5后的新 ... -
for java beginner-19 beanutils包
2009-11-29 22:20 722019-使用BeanUtils工具包操 ... -
for java beginner-18 JAVABEAN规范-1
2009-11-29 21:12 985018-JAVABEAN规范-1 IntroSpec ... -
for java beginner 17 配置文件的知识
2009-11-29 19:29 750017 配置文件的知识 刚刚已经说到 配置文件,我说放 工程 ... -
for java beginner 15 下java反射在框架里的应用 读取properties文件
2009-11-29 17:44 1342java 框架基础 ------------------- ... -
for java beginner 14 ArrayList HashSet HashCode(中)
2009-11-29 13:24 1090java 反射 数组的反射 ArrayList HashSe ... -
for java beginner13java 反射 数组的反射(上)其实是讲ArrayList HashSet HashCode
2009-11-29 12:35 887java 反射 数组的反射(上 ... -
for java beginner11 java 反射 Method类
2009-11-29 08:30 1209java 反射 Method类 str1.charAt() ... -
for java beginner10 java 反射 Field类
2009-11-29 07:17 3500java 反射 Field类 -------用到一个bea ... -
for java beginner 9 java反射的概念和Constructor 类
2009-11-29 07:13 1340java 反射 的概念 和 Constructor 类 反 ... -
for java beginner 8 java 反射的基础基础Class的理解
2009-11-29 07:09 968java 反射 的基础基础 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 ...
Java Programming for the Absolute Beginner.pdf
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...
Java Programming for the Absolute Beginner
java beginner guide,
Java For Absolute Beginner
Algorithm-Machine-Learning-for-Beginner-by-Python3.zip,斯克莱恩、坦索流。,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。
jQuery for Designers Beginner's Guide Second Edition 英文无水印原版pdf pdf所有页面使用FoxitReader、PDF-XChangeViewer、SumatraPDF和Firefox测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或...
Welcome to C# and the world of Windows, Internet and World-Wide-Web programming with Visual Studio and the .NET platform! This book is the second in our new .NET How to Program series, which presents ...
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删除
Python Programming for the Absolute Beginner
Microsoft Excel VBA Programming for the Absolute Beginner 2002
一本适用于java初学者的英文版教材,很全面的介绍了Java的初阶内容。
If you ask the many readers that have made this book's prequel, PYTHON PROGRAMMING FOR THE ABSOLUTE BEGINNER, a bestseller, they'll tell you - there isn't one. MORE PYTHON PROGRAMMING FOR THE ...