A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© て淡莣了陌生 中级黑马   /  2013-4-29 11:02  /  2535 人查看  /  16 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Demo5_GenericType {

        public static void main(String[] args) {
                ArrayList<int> al = new ArrayList<int>();
                al.add(1);
                al.add(2);
                al.add(3);
                al.add(4);

        }
这段代码用int泛型为什么会报错啊!
       

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

16 个回复

倒序浏览
int是基本数据类型。
而泛型的参数只能是引用数据类型。
回复 使用道具 举报
楼上正解
回复 使用道具 举报
本帖最后由 赵崇友 于 2013-4-29 11:19 编辑

又见  殇_心。
应该是Integer,int是基本类型,泛型要是类类型的。
代码更改如下:
  1. public class Demo5_GenericType {

  2.          public static void main(String[] args) {
  3.                  ArrayList<Integer> al = new ArrayList<Integer>();
  4.                  al.add(1);
  5.                  al.add(2);
  6.                  al.add(3);
  7.                  al.add(4);

  8.          }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
赵崇友 发表于 2013-4-29 11:18
又见  殇_心。
应该是Integer,int是基本类型,泛型要是类类型的。
代码更改如下: ...

:Q 什么叫又见啊。。。```  我会拿一段时间来看帖的。
来检验下自己的水平。
嘿嘿。。  还是太水啊。
论坛大神太多了。
回复 使用道具 举报
版主仁慈,能给他加个技术分否?
回复 使用道具 举报
殇_心。 发表于 2013-4-29 11:28
什么叫又见啊。。。```  我会拿一段时间来看帖的。
来检验下自己的水平。
嘿嘿。。  还是太水啊。

哈哈哈,这都不算事
回复 使用道具 举报
袁梦希 发表于 2013-4-29 11:38
哈哈哈,这都不算事

:sleepy: ...
回复 使用道具 举报
殇_心。 发表于 2013-4-29 11:28
什么叫又见啊。。。```  我会拿一段时间来看帖的。
来检验下自己的水平。
嘿嘿。。  还是太水啊。

感觉你就挺神的
回复 使用道具 举报
harborbest 发表于 2013-4-29 11:53
感觉你就挺神的

:L  唉。 多谢夸奖。
不过这里面大神我就认识好几位啊
回复 使用道具 举报
ArrayList<Integer> al = new ArrayList<Integer>();
这样就不会报错了
回复 使用道具 举报
import java.util.ArrayList;

/*集合与数组的区别:
*        数组:长度固定    可以存储基本数据类型,也可以存储对象      存储的对象要是同一类型的
*        集合:长度不固定  只能存储对象                                                可以存储任意类型的对象(一般都会存储同一类型)
*/
public class Demo14 {
          public static void main(String[] args) {
          ArrayList<Integer> al = new ArrayList<Integer>();                //改为Integer,会自动装箱为包装类.
          al.add(1);                                                               
          al.add(2);
          al.add(3);
          al.add(4);

  }
}

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
呵呵 你首先要明白集合概念的产生,集合是用来存储对象的,其中一个特点就是只能用来存储对象,不能存储基本数据类型;如果要存储基本数据类型,就只能用数组了; 而楼主写的int是标示基本数据类型的整型,Interger才是对应的整型对象。 建议看过毕老师的视频后,能回过头来复习下笔记,比老师的笔记上都有的。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
用基本数据类型的包装类,变成对象类型。
byte——Byte
boolean——Boolean
short——Short
char——Character
int——Integer
long——Long
float——Float
double——Double
对于包装类说,这些类的用途主要包含两种:

    a、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。

    b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。

评分

参与人数 1技术分 +2 收起 理由
黄玉昆 + 2

查看全部评分

回复 使用道具 举报
import java.util.ArrayList;

public class Test {
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                  ArrayList<Integer> al = new ArrayList<Integer>();
          al.add(1);
          al.add(2);
          al.add(3);
          al.add(4);
          System.out.println(al);

        }

}
回复 使用道具 举报
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
回复 使用道具 举报
看看视频吧......
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马