什么是泛型:
泛型允许延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。
其装箱拆箱和传统类型有什么区别:
装箱:值类型转引用类型。开辟一块内存空间进行存放数据。
拆箱:引用类型转值类型。
泛型对装箱拆箱的影响在集合的应用上有巨大的体现,
诸如用 ArrayList 来储存 int 数据和用 List<int> 来储存 int 数据。未使用泛型的 ArrayList 在每次存新数据时都会有从 int 到 object 的装箱操作,每次读取时都会有拆箱操作,而使用泛型的 List<int> 不需要这些操作,也就避免了这方面的性能消耗。
泛型类继承怎么表示
这是我确实在面试中碰到的一问,我想出题者可能是要问泛型的约束
原问题:写一个泛型类 C 使其继承自 CBase
public class CBase
{
}
public class C<T> : CBase
{
public T t;
}
public class C1<T> where T : CBase
{
public T t;
}
不管是要求 C 继承自 CBase 还是要约束泛型 T 继承自 CBase 都是很好写的
泛型的约束就是在定义结构后面加 where 关键字,然后写继承关系就可以了