c#的泛型没有类型通配符,原因是.net的泛型是CLR支持的泛型,而Java的JVM并不支持泛型,只是语法糖,在编译器编译的时候都转换成object类型
类型通配符在java中表示的是泛型类型的父类
public void test(List c) { for(int i = 0;i < c.size();i++) { System.out.println(c.get(i)); } } //创建一个List 对象 List strList = new ArrayList (); //将strList作为参数来调用前面的test方法 test(strList); 编译上面的程序,test(strList) 处将发生编译错误,意味着不能把List 当成List 的子类. 这时候就需要使用类型通配符了,通配符是一个 号 上面的List换成List 就可以通过编译了 public void test(List c) { for(int i = 0;i < c.size();i++) { System.out.println(c.get(i)); } } List 可以作为 List 的子类来使用, List 则可作为任何List 类型的父类使用, 如果只想作为List 的父类,而不是List 呢, 写成这样 List 在C#中约束泛弄类型是这样 class MyClass where T : class where U : struct {} interface IMyInterface { } class Dictionary where TKey : IComparable, IEnumerable where TVal : IMyInterface { public void Add(TKey key, TVal val) { } } Java 中约束泛型通配符上限: //表明T类型必须是Number类或其子类,并必须实现java.io.Serializable接口 Public class Apple {} <script type="text/java script"> <script type="text/java script">BAIDU_CLB_fillSlot("771048"); 点击复制链接 与好友分享! 回本站首页 <script> function copyToClipBoard(){ var clipBoardContent=document.title + '\r\n' + document.location; clipBoardContent+='\r\n'; window.clipboardData.setData("Text",clipBoardContent); alert("恭喜您!复制成功"); } 分享到: 更多 <script type="text/java script" id="bdshare_js" data="type=tools&uid=12732"> <script type="text/java script" id="bdshell_js"> <script type="text/java script"> var bds_config = {'snsKey':{'tsina':'2386826374','tqq':'5e544a8fdea646c5a5f3967871346eb8'}}; document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js cdnversion=" + Math.ceil(new Date()/3600000) 您对本文章有什么意见或着疑问吗?请到 论坛讨论您的关注和建议是我们前行的参考和动力 上一篇: 设计模式之备忘录模式 下一篇: 最后一页 相关文章 动态方法、通配符、常量 面向对象编程:Java的简单数据类型 面向对象编程:Java复杂数据类型用法 面向对象编程:Java中的抽象数据类型 Java变量类型间的相互转换 使用isInstanceOf()测试对象类型 熟练掌握JDK1.5枚举类型 小议JAVA数据类型间的相互转换 跨越边界: Java 模型以外的类型策略 跨越边界:Java模型以外的类型策略 <script type="text/java script">BAIDU_CLB_fillSlot("182716"); <script type="text/java script">BAIDU_CLB_fillSlot("517916"); 图文推荐 设计模式总结-行为模 java代码面试常见的算 Struts2 开发环境搭建 java 神奇的import之 <iframe src="http://www.2cto.com/uapi.php tid=297340&catid=85&title=SmF2YSy3utDNwODQzc2oxeS3 7rNQyO21LHI&forward=http://www.2cto.com/kf/201405/297340.html" width="100%" height="100%" id="comment_iframe" name="comment_iframe" frameborder="0" scrolling="no"> <script type="text/java script">BAIDU_CLB_fillSlot("771057"); 排行 热门 952 | Java java.lang.ExceptionInInitiali 893 | java中synchronized的用法详解 841 | 利用dom4j创建XML和解析XML 739 | Struts2实现文件上传 697 | Java中跳出循环的方法 662 | Java实现二维码QRCode的编码和解码 568 | 利用swfupload实现java文件批量上传 530 | Java中将JSON格式的数据转换成对应的B 10种排序算法总结 java中static作用详解 Java读取txt文件 java调用webservice实例 Eclipse使用入门教程 Spring定时器时间配置 Java中List转换为数组,数组转List Struts2实现文件上传 <script type="text/java script"> <script type="text/java script">BAIDU_CLB_fillSlot("406189"); <script type="text/java script">BAIDU_CLB_fillSlot("703749"); <iframe frameborder="0" name="Iframe1" src="http://www.2cto.com/bbsdy/index.html" width="100%" height="200"> 您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。 <script type="text/java script">BAIDU_CLB_fillSlot("182692"); 文章 下载 读书 Win2000下关闭无用端口 禁止非法用户登录综合设置 [win9x篇] 关上可恶的后门――消除NetBIOS隐患 网络入侵检测系统 潜伏在Windows默认设置中的陷井 调制解调器的不安全 构建Windows 2000服务器的安全防护林 SQL Server 2000的安全配置 Windows优化大师注册机源码 Process Viewer 汉化版 Aspcode动画教程 WIN 2000服务器防止ICMP数据包攻击教程 实现网络隐身的简单方法 手工进行克隆帐号 用W32DASM破解网页合并器的密码 注册表操作动画教程 黑客攻防技术宝典:Web实战篇(第2版) 超级网管员――网络安全 代码大全(第二版) 软件之道:软件开发争议问题剖析 CSS插件工具箱 CSS入门经典(第3版) C#并行编程高级教程:精通.NET 4 Pa CMMI+敏捷整合开发 <script type="text/java script"> Java中的递归原理分析 如何自学java迅速成为java高手 Java学习这七年 一个Java程序员应该掌握的10项技能 Java编程语言程序的认识误区 java中的接口和抽象类是什么? Java中23种经典设计模式详解 Java静态代码块(static block)调用陷 Hibernate基础:Configuration <script type="text/java script">BAIDU_CLB_fillSlot("771043"); <script type="text/java script"> <script language="java script" src="http://www.2cto.com/api.php op=count&id=297340&modelid=1"> <script type="text/java script">BAIDU_CLB_fillSlot("137946"); <script type="text/java script">BAIDU_CLB_fillSlot("333829"); 关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 版权所有: 红黑联盟--致力于做最好的IT技术学习网站<script type="text/java script"> var _bdhmProtocol = (("https:" == document.location.protocol) " https://" : " http://"); document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3F1898984a3d796e86ad73ad1f4bc9f240' type='text/java script'%3E%3C/script%3E"));
//创建一个List 对象 List strList = new ArrayList (); //将strList作为参数来调用前面的test方法 test(strList);
上面的List换成List 就可以通过编译了 public void test(List c) { for(int i = 0;i < c.size();i++) { System.out.println(c.get(i)); } } List 可以作为 List 的子类来使用, List 则可作为任何List 类型的父类使用, 如果只想作为List 的父类,而不是List 呢, 写成这样 List 在C#中约束泛弄类型是这样 class MyClass where T : class where U : struct {} interface IMyInterface { } class Dictionary where TKey : IComparable, IEnumerable where TVal : IMyInterface { public void Add(TKey key, TVal val) { } } Java 中约束泛型通配符上限: //表明T类型必须是Number类或其子类,并必须实现java.io.Serializable接口 Public class Apple {} <script type="text/java script"> <script type="text/java script">BAIDU_CLB_fillSlot("771048"); 点击复制链接 与好友分享! 回本站首页 <script> function copyToClipBoard(){ var clipBoardContent=document.title + '\r\n' + document.location; clipBoardContent+='\r\n'; window.clipboardData.setData("Text",clipBoardContent); alert("恭喜您!复制成功"); } 分享到: 更多 <script type="text/java script" id="bdshare_js" data="type=tools&uid=12732"> <script type="text/java script" id="bdshell_js"> <script type="text/java script"> var bds_config = {'snsKey':{'tsina':'2386826374','tqq':'5e544a8fdea646c5a5f3967871346eb8'}}; document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js cdnversion=" + Math.ceil(new Date()/3600000) 您对本文章有什么意见或着疑问吗?请到 论坛讨论您的关注和建议是我们前行的参考和动力 上一篇: 设计模式之备忘录模式 下一篇: 最后一页 相关文章 动态方法、通配符、常量 面向对象编程:Java的简单数据类型 面向对象编程:Java复杂数据类型用法 面向对象编程:Java中的抽象数据类型 Java变量类型间的相互转换 使用isInstanceOf()测试对象类型 熟练掌握JDK1.5枚举类型 小议JAVA数据类型间的相互转换 跨越边界: Java 模型以外的类型策略 跨越边界:Java模型以外的类型策略 <script type="text/java script">BAIDU_CLB_fillSlot("182716"); <script type="text/java script">BAIDU_CLB_fillSlot("517916"); 图文推荐 设计模式总结-行为模 java代码面试常见的算 Struts2 开发环境搭建 java 神奇的import之 <iframe src="http://www.2cto.com/uapi.php tid=297340&catid=85&title=SmF2YSy3utDNwODQzc2oxeS3 7rNQyO21LHI&forward=http://www.2cto.com/kf/201405/297340.html" width="100%" height="100%" id="comment_iframe" name="comment_iframe" frameborder="0" scrolling="no"> <script type="text/java script">BAIDU_CLB_fillSlot("771057"); 排行 热门 952 | Java java.lang.ExceptionInInitiali 893 | java中synchronized的用法详解 841 | 利用dom4j创建XML和解析XML 739 | Struts2实现文件上传 697 | Java中跳出循环的方法 662 | Java实现二维码QRCode的编码和解码 568 | 利用swfupload实现java文件批量上传 530 | Java中将JSON格式的数据转换成对应的B 10种排序算法总结 java中static作用详解 Java读取txt文件 java调用webservice实例 Eclipse使用入门教程 Spring定时器时间配置 Java中List转换为数组,数组转List Struts2实现文件上传 <script type="text/java script"> <script type="text/java script">BAIDU_CLB_fillSlot("406189"); <script type="text/java script">BAIDU_CLB_fillSlot("703749"); <iframe frameborder="0" name="Iframe1" src="http://www.2cto.com/bbsdy/index.html" width="100%" height="200"> 您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。 <script type="text/java script">BAIDU_CLB_fillSlot("182692"); 文章 下载 读书 Win2000下关闭无用端口 禁止非法用户登录综合设置 [win9x篇] 关上可恶的后门――消除NetBIOS隐患 网络入侵检测系统 潜伏在Windows默认设置中的陷井 调制解调器的不安全 构建Windows 2000服务器的安全防护林 SQL Server 2000的安全配置 Windows优化大师注册机源码 Process Viewer 汉化版 Aspcode动画教程 WIN 2000服务器防止ICMP数据包攻击教程 实现网络隐身的简单方法 手工进行克隆帐号 用W32DASM破解网页合并器的密码 注册表操作动画教程 黑客攻防技术宝典:Web实战篇(第2版) 超级网管员――网络安全 代码大全(第二版) 软件之道:软件开发争议问题剖析 CSS插件工具箱 CSS入门经典(第3版) C#并行编程高级教程:精通.NET 4 Pa CMMI+敏捷整合开发 <script type="text/java script"> Java中的递归原理分析 如何自学java迅速成为java高手 Java学习这七年 一个Java程序员应该掌握的10项技能 Java编程语言程序的认识误区 java中的接口和抽象类是什么? Java中23种经典设计模式详解 Java静态代码块(static block)调用陷 Hibernate基础:Configuration <script type="text/java script">BAIDU_CLB_fillSlot("771043"); <script type="text/java script"> <script language="java script" src="http://www.2cto.com/api.php op=count&id=297340&modelid=1"> <script type="text/java script">BAIDU_CLB_fillSlot("137946"); <script type="text/java script">BAIDU_CLB_fillSlot("333829"); 关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 版权所有: 红黑联盟--致力于做最好的IT技术学习网站<script type="text/java script"> var _bdhmProtocol = (("https:" == document.location.protocol) " https://" : " http://"); document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3F1898984a3d796e86ad73ad1f4bc9f240' type='text/java script'%3E%3C/script%3E"));
public void test(List c) { for(int i = 0;i < c.size();i++) { System.out.println(c.get(i)); } }
List 可以作为 List 的子类来使用, List 则可作为任何List 类型的父类使用,
如果只想作为List 的父类,而不是List 呢, 写成这样 List
在C#中约束泛弄类型是这样
class MyClass where T : class where U : struct {}
interface IMyInterface { } class Dictionary where TKey : IComparable, IEnumerable where TVal : IMyInterface { public void Add(TKey key, TVal val) { } }
//表明T类型必须是Number类或其子类,并必须实现java.io.Serializable接口 Public class Apple {}
关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 版权所有: 红黑联盟--致力于做最好的IT技术学习网站<script type="text/java script"> var _bdhmProtocol = (("https:" == document.location.protocol) " https://" : " http://"); document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3F1898984a3d796e86ad73ad1f4bc9f240' type='text/java script'%3E%3C/script%3E"));