黑马程序员技术交流社区
标题:
求解答!
[打印本页]
作者:
为我想要的去努
时间:
2013-12-25 21:54
标题:
求解答!
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDemo {
public static void main(String[] args) {
ArrayList c = new ArrayList();
c.add(1);
c.add(2);
int i = c.get(0); //这里为什么编译报错?
}
}
复制代码
作者:
薛淑凯
时间:
2013-12-25 22:21
list中不能放基本数据类型,自动装箱成Integer
作者:
litaojisuanji
时间:
2013-12-25 22:22
int i = c.get(0);
这里get(0)获取到的是Object对象,你把它赋值给int类型当然会报错的,
因为你上面赋值的是int类型,它默认做了装箱操作是Integer类型,所以你
像这样就没有问题了
int i = (Integer)c.get(0);
作者:
(0.0)’
时间:
2013-12-25 22:32
看清楚你的方法的返回值的类型?
明明是Object类型的,你用int类型来接收?
多看错误提示,都提示的很明白了。
---------- javac ----------
CollectionDemo.java:11: 错误: 不兼容的类型
int i = c.get(0); //这里为什么编译报错?
^
需要: int
找到: Object
作者:
kun1990
时间:
2013-12-25 22:37
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDemo {
public static void main(String[] args) {
ArrayList<Integer> c = new ArrayList<>();
c.add(1);
c.add(2);
Integer i = c.get(0); //这里为什么编译报错?
}
}
复制代码
代码修改如上,因为get()方法返回的是引用类型,所以你的代码有错。kanAPI的时候要看清楚,返回类型是很重要的
作者:
木木赤赤
时间:
2013-12-27 13:13
首先,你先要搞清楚,集合能够操作的只能是对象,不能够操作基本数据类型的数据,
你这里c获取的是Integer对象,获取的是引用类型的数据,他能够赋值给基本数据类型。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2