List<T>是泛型方法,List<?>是限制通配符

List<T>一般有两种用途:
1、定义一个通用的泛型方法。
伪代码:

public interface Dao{
List<T> getList(){};
} List<String> getStringList(){
return dao.getList();//dao是一个实现类实例
} List<Integer> getIntList(){
return dao.getList();
}

上面接口的getList方法如果定义成List<?> ,后面就会报错。‘

2、限制方法的参数之间或参数和返回结果之间的关系。

List<T> getList<T param1,T param2>

这样可以限制返回结果的类型以及两个参数的类型一致。

List<?>一般就是在泛型起一个限制作用。
伪代码:

public Class Fruit(){}

public Class Apple extends Fruit(){}

public void test(? extends Fruit){};

test(new Fruit());
test(new Apple());
test(new String()); //这个就会报错
这样可以现在test方法的参数必须是Fruit或其子类。

最新文章

  1. GPU 加速NLP任务(Theano+CUDA)
  2. 可分组的选择框控件(MVVM下)(Toggle样式 仿造单选框RadioButton,复选框CheckBox功能)
  3. CentOS 6 安装 MySQL-python
  4. ios 友盟第三方登录遇到的各种坑。
  5. C++之再续前缘(一)——C++基础(与C语言的差异)(下)
  6. js文字滚动
  7. 带Left Join的SQL语句的执行顺序
  8. net 中捕获摄像头视频的方式及对比(How to Capture Camera Video via .Net) (转)
  9. [Objective-c 基础 - 1.2] OC的基本类
  10. 在android源码环境下写上层应用的一个初步解决方法
  11. [置顶] 请听一个故事------&gt;你真的认为iPhone只是一部手机?苹果惊天秘密!!
  12. 运行yum报错Error: Cannot retrieve metalink for reposit
  13. Amazon.com: NEW VI AND VIM EDITOR KEYBOARD STICKER: Office Products
  14. 微信小程序wepy框架开发资源汇总
  15. oj2892(字典树)
  16. 20170728xlVba简单的匹配
  17. 微信小程序video视频组件
  18. Class.this 和 this 的有什么不同
  19. 说说PHP中的命名空间相关概念
  20. [Jobdu] 题目1384:二维数组中的查找

热门文章

  1. 104 Maximum Depth of Binary Tree 二叉树的最大深度
  2. Railroad UVALive - 4888 记忆化搜索
  3. hdu3487Play with Chain(splay)
  4. Spring AOP初步总结(二)
  5. BootStrap的基本使用
  6. 【javascript】2017-9-12 腾讯笔试小Q升序算法
  7. Random-数组
  8. Hibernate框架关系映射一对多双向关联
  9. siege4压测脚本示例
  10. ios UnitTest 学习笔记1