黑马程序员技术交流社区

标题: 关于泛型问题 [打印本页]

作者: て淡莣了陌生    时间: 2013-4-29 11:02
标题: 关于泛型问题
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泛型为什么会报错啊!
       
作者: 殇_心。    时间: 2013-4-29 11:09
int是基本数据类型。
而泛型的参数只能是引用数据类型。
作者: 袁梦希    时间: 2013-4-29 11:16
楼上正解
作者: 赵崇友    时间: 2013-4-29 11:18
本帖最后由 赵崇友 于 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.          }
复制代码

作者: 殇_心。    时间: 2013-4-29 11:28
赵崇友 发表于 2013-4-29 11:18
又见  殇_心。
应该是Integer,int是基本类型,泛型要是类类型的。
代码更改如下: ...

:Q 什么叫又见啊。。。```  我会拿一段时间来看帖的。
来检验下自己的水平。
嘿嘿。。  还是太水啊。
论坛大神太多了。
作者: 陈雨    时间: 2013-4-29 11:34
版主仁慈,能给他加个技术分否?
作者: 袁梦希    时间: 2013-4-29 11:38
殇_心。 发表于 2013-4-29 11:28
什么叫又见啊。。。```  我会拿一段时间来看帖的。
来检验下自己的水平。
嘿嘿。。  还是太水啊。

哈哈哈,这都不算事
作者: 殇_心。    时间: 2013-4-29 11:52
袁梦希 发表于 2013-4-29 11:38
哈哈哈,这都不算事

:sleepy: ...
作者: harborbest    时间: 2013-4-29 11:53
殇_心。 发表于 2013-4-29 11:28
什么叫又见啊。。。```  我会拿一段时间来看帖的。
来检验下自己的水平。
嘿嘿。。  还是太水啊。

感觉你就挺神的
作者: 殇_心。    时间: 2013-4-29 12:01
harborbest 发表于 2013-4-29 11:53
感觉你就挺神的

:L  唉。 多谢夸奖。
不过这里面大神我就认识好几位啊
作者: 肖宇宥    时间: 2013-4-29 14:14
ArrayList<Integer> al = new ArrayList<Integer>();
这样就不会报错了
作者: 付鑫鑫    时间: 2013-4-29 14:17
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);

  }
}

作者: 邵彩华    时间: 2013-4-29 14:55
呵呵 你首先要明白集合概念的产生,集合是用来存储对象的,其中一个特点就是只能用来存储对象,不能存储基本数据类型;如果要存储基本数据类型,就只能用数组了; 而楼主写的int是标示基本数据类型的整型,Interger才是对应的整型对象。 建议看过毕老师的视频后,能回过头来复习下笔记,比老师的笔记上都有的。
作者: 朱安柱    时间: 2013-4-29 14:55
用基本数据类型的包装类,变成对象类型。
byte——Byte
boolean——Boolean
short——Short
char——Character
int——Integer
long——Long
float——Float
double——Double
对于包装类说,这些类的用途主要包含两种:

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

    b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。
作者: pthuakai    时间: 2013-4-29 15:10
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);

        }

}

作者: 黄玉昆    时间: 2013-4-29 23:55
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
作者: 符立波    时间: 2013-4-30 10:53
看看视频吧......




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2