当前位置: 代码迷 >> J2SE >> 这个 ArrayList 为何编译不过去
  详细解决方案

这个 ArrayList 为何编译不过去

热度:615   发布时间:2016-04-23 22:11:52.0
这个 ArrayList 为什么编译不过去
import java.lang.*;
import java.util.Arrays;
import java.util.*;

public class Empty
{
public static void main(String[]args)
{
ArrayList<int> a = new ArrayList<int>();
}
}

------解决方案--------------------
不能用基本型int,需要改成Integer
------解决方案--------------------
泛型不能用基本类型,跟C++的template不一样
------解决方案--------------------
泛型中,也就是<>里面的格式类型,不能用8中基本类型。可以用对一个的包装类。int对应的是Integer
------解决方案--------------------
没有为什么,语法就是这么规定的。

<>里面一定是个类名。
------解决方案--------------------
引用:
不能用基本型int,需要改成Integer
+1,无对象,不开心
------解决方案--------------------
java不支持泛型数组 
具体讨论和解决办法可以参考
http://topic.csdn.net/u/20080412/20/72fec10e-2548-41d6-bea6-519c9acde918.html
------解决方案--------------------
和C++不同,java泛型只可用类,不支持基本类型。
------解决方案--------------------
不能用基本类型,改为Integer
------解决方案--------------------
java中泛型类型不能是基本类型。如果存放的数据量不大,就用integer代替吧。
------解决方案--------------------
泛型支持的是引用数据类型  Integer character Short 类似这样的 所谓引用数据类型就是(类,接口,数组)

在java中,8种基本类型在java中都有对应的封装类型,也就是引用类型:
    整数类型 Byte、Short、Integer、Long
    浮点数类型 Float、Double
    字符型 Character
    布尔类型 Boolean
------解决方案--------------------
容器里面只能装对象
------解决方案--------------------
java中泛型类型应该是个对象,而不是一个基本类型。所以不能用int,而是应该用Integer
------解决方案--------------------
一楼正解,需将int 换为Integer
http://www.360doc.com/content/12/0527/17/10042054_214069960.shtml
  相关解决方案