【ThinkingInJava】38、泛型数组转化,传递一个类型标识
2015-05-18 08:28
477 查看
/** * 书本:《Thinking In Java》 * 功能:泛型数组转化,传递一个类型标识 * 文件:GenericArrayWithTypeToken.java * 时间:2015年4月19日10:05:43 * 作者:cutter_point */ package Lesson15_generices; import java.lang.reflect.Array; public class GenericArrayWithTypeToken<T> { private T[] array; //一个T类型的数组,实际在jvm中是Object类型的 public GenericArrayWithTypeToken(Class<T> type, int sz) { array = (T[])Array.newInstance(type, sz); //创建一个数组 } //放入数据 public void put(int index, T item) { array[index] = item; } //得到对应的数据 public T get(int index) { return (T)array[index]; } //返回数组 public T[] rep() { return array; } public static void main(String[] args) { GenericArrayWithTypeToken<Integer> gai = new GenericArrayWithTypeToken<Integer>(Integer.class, 10); //传递进去一个类型参数,这样就可以从擦除中恢复 //放入1到10 for(int i = 0; i < 10; ++i) gai.put(i, i); for(int i = 0; i < 10; ++i) System.out.print(gai.get(i) + " "); System.out.println(); Integer[] ia = gai.rep(); System.out.println(ia); } }
输出:
0 1 2 3 4 5 6 7 8 9
[Ljava.lang.Integer;@4d4bb075
相关文章推荐
- 将多个不同类型的控件放在一个动态数组(ArrayList)中作为参数(控件数组)传递
- 如果java中一个方法不知道要传递多少参数也不知道传递过来的是什么类型的数据你会怎么做?
- NDK 编程:java中的jstring, 转化为c的一个字符数组
- JAVA的数组 && 原始类型和引用类型以及String与int long相互转化 && String与byte[]相互转化
- java面试要点---ArrayList list = new ArrayList(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象。
- java传递数组类型参数给oracle存储过程
- 分析一下为什么JAVA不支持泛型类型的数组
- 2013年8月17日、二维数组定义的格式|用java表现一个描述小汽车|基本数据类型参数传递|
- 使用泛型, 写一个为任意类型的动态数组添加元素的方法
- java 传递参数 “引用是一种数据类型”,“参数是引用的一个拷贝”
- Split区分一个或多个空格和java中List类型与String数组互相转换
- java使用泛型进行任意类型<引用类型>数组交换
- Java常用的数据结构与类型(Map,数组,泛型等等)——Java篇
- 网络 发一个Long类型的数转化为字节数组从客户端发到服务端
- 再谈如何以最简单的方法将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式
- JAVA-反射-getGenericSuperclass()——Java怎么取得一个对象的泛型类型
- (旋转数组问题)给定一个整数类型的循环有序数组,求循环数组的特定值,使用二分查找法(JAVA实现)
- 将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式
- Java为什么不支持泛型类型的数组
- Java 创建泛型类型的数组