- class Data {
- int val;
- }
- public class test {
- int count = 0;
- @Test
- public void test()
- {
- //这里使用了泛型
- ArrayList<Data> list = new ArrayList<Data>();
- for (int i = 100; i < 103; i++)
- {
- //对象若是放在外面,虽然你感觉每次都是添加了,但是实际上都是对同一对象进行操作
- //也就是java在内存的是只是在栈里面引向该对象而已
- //相当于arr[0]指向了对象data,arr[1]也指向了data,arr[2]也指向了data,
- //但是data只有一个属性val,最终他的值多少,就会输出多少
- Data data = new Data();
- data.val = i;
- list.add(data);
- }
- //为什么会出错,是因为list取出来的是Object对象,所以d不是Object对象,所以会出错,
- //但是加了泛型后,list里面的元素都是Data对象,所以可以遍历
- for (Data d : list)
- {
- System.out.println(d.val);
- }
- }
- }
复制代码 |