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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 雀巢咖啡 中级黑马   /  2014-4-16 19:09  /  2207 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

定义一个静态方法,该方法可以接收一个List<Integer>,方法内对List进行排序.

我只知道Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段。
但List<>是什么意思,怎样运用List<>.最好是能给个详细的例子能让我理解其用法,谢了!

4 个回复

倒序浏览
List<>里面的是泛型,用来限定List里面可以装的元素,这里就是说只能装Integer,如果存入其他类型的就会报错
回复 使用道具 举报
doyxy 发表于 2014-4-16 20:38
List里面的是泛型,用来限定List里面可以装的元素,这里就是说只能装Integer,如果存入其他类型的就会报错 ...

你回答的具体点,最好举个例子。这样才会拿到技术分撒
回复 使用道具 举报
  1. import java.util.ArrayList;
  2. import java.util.List;


  3. public class temp {

  4.         /**
  5.          * @param args
  6.          */
  7.         public static void main(String[] args) {
  8.                 // TODO Auto-generated method stub
  9.                 List<Integer> list = new ArrayList<Integer>();
  10.                 list.add(10); // 可以加入
  11.                 list.add("abc"); // 会报错
  12.         }

  13. }
复制代码
回复 使用道具 举报
JDK1.5之前List是中的数据类型是按照object接收的,也就是所有的数据转换成object类型存放,之后加入泛型概念,泛型是一种能根据需要确定数据类型的技术。List<E>(随便取名字,E、T比较常见)表示list中的数据类型是泛型,E表示它抽象,定义的时候没有明确指定类型。在实例化的时候再根据需要自己改变,这样可以让List可以存放任意数据的数据。
list<E>的意思就是:当你需要保存基本数据类型的时候,将E改成对应的基本数据类型的包装类。保存整数就用List<Integer>,保存小数用List<Float>,保存字符用List<Character>。。。
当你使用List<Integer>时,就意味着list必须存放Integer对象,不然就会出现数据类型转换异常。
                            当需要引用数据类型时,用对应的数据类型就可以,如List<String>,自定义的类List<Person>,自定义接口List<Iinterface>,自定义数组List<int[]>等。
当然List本身可以保存Object数据类型,所以也可以不指定泛型。
List list=new ArrayList();
list.add("abc");
这样的语法也不会报错,因为字符串是String对象,可以向Object自动转型,保存基本数据类型也可以自动装箱变成基本数据类型的包装类对象保存,但是这样的用法不规范,因为List本身定义了泛型你却没有使用,这叫泛型的擦除。

评分

参与人数 1技术分 +1 收起 理由
梦里花-静 + 1 继续努力哈!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马