栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

通用类型:通配符与原始类型的变量

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通用类型:通配符与原始类型的变量

<?>
不允许您在列表中添加对象。请参阅下面的程序。这是我们传递给method的特定列表类型
<?>

特定方式,列表是使用特定类型创建的,并传递给
<?>
method
listAll
。不要与 单词 混淆
specific

具体可以是任何普通对象,例如Dog,Tiger,String,Object,HashMap,File,Integer,Long ....并且列表是无穷的。
JLS
力量
<?>
的方法 执行 添加 任何
irrelevant objects
名为
<?>
方法一旦你定义
_(在不调用方法中定义
called-listAll
)_包含列表
specific type
对象。
这就像在
<?>
“别碰我”。


public static void listAll(linkedList list) {    list.add(new String());  //works fine    for(Object obj : list) System.out.println(obj);}public static void listAll(linkedList<?> list) {     list.add(new String());  //compile time error. only 'null' is allowed.     for(Object obj : list)          System.out.println(obj);}

现在让我们看一下不同的情况。当我们声明特定类型(如Dog,Tiger,Object,String
.....)时,会发生什么。让我们将方法更改为

specific type

public static void listAll(linkedList<String> list)// It is now specific type, 'String'{    list.add(new String());//works fine. Compile time it knows that 'list' has 'String'    for(Object obj : list)         System.out.println(obj);}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/464119.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号