泛型2
package TestCollect; import java.util.ArrayList; import java.util.List; /** * 泛型 * 1)传入什么类型就是什么类型 * 2)将结果传递给函数 */ public class TestCollection_01 { public static void main(String[] args) { // 第一个泛型对象 MyCollection<Integer> mc = new MyCollection<Integer>(); mc.set(112, 0); mc.set(55, 1); System.out.println(mc.get(0)); MyCollection<String> m = new MyCollection<String>(); System.out.println("*******************************************************"); // 第二个泛型对象 m.set("hello", 0); m.set("world", 1); System.out.println(m.get(0)); System.out.println(m.get(1)); System.out.println("****************** 泛型Arraylist *************************"); fanType(); System.out.println("******************** 自定义泛型 ***********************************"); fanType2(); } public static void fanType() { List list = new ArrayList(); list.add("aaa"); list.add(11); System.out.println(list.get(0)); System.out.println(list.get(1)); } public static void fanType2() { MyCollection c = new MyCollection(); c.set(100, 0); c.set("hello", 1); System.out.println(c.get(0)); System.out.println(c.get(1)); } } class MyCollection<E> {// E:表示泛型;如果在声明的时候指定数据的类型,则传入的值必有在是这个类型,如果不传的话,则可以是任何的数据类型 Object[] objs = new Object[5]; // 获取数据 public E get(int index) {// E:表示泛型; return (E) objs[index]; } // 设置数据 public void set(E e, int index) {// E:表示泛型; objs[index] = e; } }
技术改变一切