为什么我们在ArrayList中使用包装类Integer <integer> a1 = new ArrayList <integer>()?</integer> </integer>

时间:2015-04-02 04:22:20

标签: java

我对ArrayList Collection类有很基本的疑问。请考虑以下声明:

ArrayList<Integer> a1 = new ArrayList<Integer>();

现在,我想知道为什么我们在这里使用包装类'Integer'以及为什么我们不能使用原始类型'int'。我假设答案是这样我们可以执行不同的操作,如toString等。创建的对象并传递引用。如果我在任何地方都错了,请纠正我。

我执行了以下代码来检查如何传递引用但它不起作用。我的意思是如果我们传递引用,方法modify()应该更改索引0处的值.....对吗?请告诉我以下代码中的错误:

import java.util.*;
class ArrayvsLinkedList
{
 public static void main(String args[])
 {
  int n = 1000000;
  ArrayList<Integer> a1= new ArrayList<Integer>();

  for(int i=1;i<=n;i++)
   a1.add(i);

  System.out.println("Before method called"+a1.get(0));


  new ArrayvsLinkedList().modify(a1.get(0));

  System.out.println("After method called"+a1.get(0));
 }
 void modify(Integer x)
 {
  x=x*5;
  System.out.println("Inside method "+x);
 } 
}

1 个答案:

答案 0 :(得分:2)

通用类型参数必须是引用类型。 ArrayList<int>不是有效的Java语法。