接着上一节的内容,上一节我们使用到了ArrayList、Vector、LinkedList三个集合类型。
但是目前我们有一个问题:如果集合中存储的是Integer类型的数据(int的引用类型),那我们需要进行数值相加减的时候,需要强制类型转换。
非常麻烦。
于是我们使用泛型来解决这个问题。
我们只需要在初始化集合的时候使用一对尖括号<>就可以了,非常简单。使用方法:
ArrayList<Integer> a1 = new ArrayList<Integer>();
Vector<String> v1 = new Vector<String>();
LinkedList<Double> l1 = new LinkedList<Double>();
a1.add(123);
v1.add("remoo");
l1.add(3.1415);
解释:
尖括号<>只能放引用类型
<Integer> 这个集合只能放Integer
细心的朋友可能会发现,那为什么add可以直接添加基本类型呢?
因为这个过程涉及到装箱与拆箱的过程。
后面就不需要强制类型转换了
在集合中使用自定义的类型
定义好自己的类(例如Student)后
ArrayList<Student> ma1 = new ArrayList<>();
Student s1 = new Student("rem");
ma1.add(s1);
ma1.add(new Student("lin"));//也可以直接添加
for (Student temp : ma1)
System.out.println(temp.getName());
浙公网安备 33010602011771号