其中一种使用:
本来是这样的:
/存储Int的集合类 public class IntArrayList{ private int[] dataSet; public IntArrayList(int size){ dataSet = new int[size]; } public int get(int position){ return dataSet[position]; } public void add(int pos ,int data){ dataSet[pos] =data; } public int size(){ return dataSet.length; } } //存储String的集合类 public class StringArrayList{ private String[] dataSet; public StringArrayList(int size){ dataSet = new String[size]; } public String get(int position){ return dataSet[position]; } public void add(int pos ,String data){ dataSet[pos] = data; } public int size(){ return dataSet.length; } }
然后我们可以使用泛型定义:抽象类SimpleArryList:
public class SimpleArrayList<T> { private T[] dataSet; public SimpleArrayList(int size){ dataSet = (T[]) new Object[size]; } public T get(int position){ return dataSet[position]; } public void add(int pos ,T data){ dataSet[pos] = data; } public int size(){ return dataSet.length; } }
使用:
/方法一 //使用IntArrayList IntArrayList intArr = new IntArrayList(2); intArr.add(0,3); intArr.add(1,55); System.out.println(intArr.get(1)); //使用StringArrayList StringArrayList strArr = new StringArrayList(3); strArr.add(0,"hello"); System.out.println(strArr.get(0)); //方法二 抽出来之后 //使用SimpleArrayList 存储整型 SimpleArrayList<Integer> intArrayList = new SimpleArrayList<>(3); intArrayList.add(0,3); intArrayList.add(1,55); System.out.println(intArrayList.get(1)); //使用SimpleArrayList存储String SimpleArrayList<String> strArrayList = new SimpleArrayList<>(3); strArrayList.add(0,"hello , SimpleArrayList"); System.out.println(strArrayList.get(0));
转自https://blog.csdn.net/u011889786/article/details/51865344代码重构的机巧