多平台统一管理软件接口,如何实现多平台统一管理软件接口
206
2023-07-02
Java泛型类型通配符和C#对比分析
c#的泛型没有类型通配符,原因是.net的泛型是CLR支持的泛型,而Jahttp://va的JVM并不支持泛型,只是语法糖,pSUnP在编译器编译的时候都转换成object类型
类型通配符在java中表示的是泛型类型的父类
public void test(List
{
for(int i = 0;i < c.size();i++)
{
System.out.println(c.get(i));
}
}
//创建一个List
List
//将strList作为参数来调用前面的test方法
test(strList);
编译上面的程序,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
在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
{}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~