`
linxizeng
  • 浏览: 105284 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Tiger学习 之 撰写泛型<generic>

阅读更多
写一个支持泛型的类,真的很简单,呵呵,看代码
引用

public class Generic<E> {
//private static List<E> staticList = new ArrayList<E>(); 不能这样写,编译出错,因为静态变量的实例共享的。
protected List<E> list;

public Generic(){
list = new ArrayList<E>();
}
}

这样就OK了,"E" 代表一个参数类型,可以用任何字母、单词来代替,不过一般用一个大写字母。

限制参数类型,也很简单,只要让你的类型变量继承特定的类,如:

引用

public class Generic<E extends Number> {
protected List<E> list;

public Generic(){
list = new ArrayList<E>();
}
}


如果这样调用
引用

    Generic<String> generic = new Generic<String>();


编译器会提示错误...强制使用制定的参数化类型。

方法也一样,看下列代码:
引用

public List<? extends Number> setList(List <? extends Number> inList ) {
    return inList;
}


也可以这样写
引用

public <A extends Number>List setList(List<A> inList ) {
    return inList;
}

有点诡异...
分享到:
评论

相关推荐

    C#重要知识之——泛型列表List例子

    在C#编程中,泛型列表`List&lt;T&gt;`是一个非常重要的数据结构,它为我们提供了动态数组的功能,并且具有类型安全的特性。这篇文章将深入探讨`List&lt;T&gt;`的使用,包括其基本操作、性能特点以及一些高级用法。 一、基础概念...

    C# 解析json格式数据为IList

    例如,如果你有一个JSON数组,你可能希望将其解析为`IList&lt;string&gt;`或`IList&lt;MyCustomClass&gt;`,具体取决于JSON数据的内容。 C#中解析JSON通常使用的是Json.NET库,这是一个非常流行且功能强大的开源库,可以方便地...

    Json与实体相互转换,支持IList泛型

    Json转换为实体;Json转换为IList&lt;T&gt;;实体转换为Json;IList&lt;T&gt;转换为Json;

    java泛型总结

    - **定义**: 在方法签名中使用泛型,可以通过在方法签名中添加`&lt;T&gt;`来指定泛型类型,其中`T`是类型变量。 - **示例**: ```java public &lt;T, S, U&gt; U f(T t, S s) { // 方法体 } ``` 在这个例子中,`f`方法接受两个...

    arraylist 和 list<T> 效率对比

    相比之下,List&lt;T&gt;是C# 2.0引入的泛型集合,它实现了IList&lt;T&gt;接口,提供类型安全的数据存储。由于List&lt;T&gt;知道它将存储哪种类型的数据,因此无需进行显式的类型转换,这极大地提高了代码的可读性和安全性。List&lt;T&gt;...

    json字符串实体bean或者List互转(gson和jackson,支持泛型)

    json字符串实体bean或者List&lt;bean&gt;互转(gson和jackson,支持泛型),支持json的格式化,所需要的包在代码也有说明。还有少的可以告知我,谢谢

    C#+List+GridControl实现主从表嵌套

    `List&lt;T&gt;`是.NET Framework中`System.Collections.Generic`命名空间下的一个泛型集合类,它实现了`IList&lt;T&gt;`、`ICollection&lt;T&gt;`和`IEnumerable&lt;T&gt;`接口。`List&lt;T&gt;`是用于存储强类型对象的动态数组,允许快速的插入和...

    Java泛型&lt;T&gt; T与T的使用方法详解

    Java泛型&lt;T&gt; T与T的使用方法详解 Java泛型是Java语言中的一种重要特性,它允许开发者在编写代码时可以指定类型,提高代码的灵活性和可读性。在Java中,泛型是通过类型擦除来实现的,即编译器在编译时擦除了所有泛型...

    java实现接口反参JsonData<T>封装,并实现字符串与泛型对象JsonData<T>之间的快速转换

    java实现接口反参JsonData<T>封装,并实现字符串与泛型对象JsonData<T>之间的快速转换封装

    C#中的集合示例(Array,ArrayList,Hashtable,List)

    List&lt;T&gt;是泛型集合,它是System.Collections.Generic命名空间下的一个类。与ArrayList相比,List&lt;T&gt;更加安全,因为它在编译时就知道了元素的类型。以下是一个List&lt;int&gt;的示例: ```csharp List&lt;int&gt; numbersList = ...

    泛型类vector<T>源码分析

    泛型类vector&lt;T&gt;源码分析

    C# List用法

    C# List&lt;T&gt;是.NET Framework中System.Collections.Generic命名空间下的一个泛型类,它是对非泛型ArrayList类的泛型等效版本,适用于处理强类型集合。List&lt;T&gt;使用动态数组的方式实现,允许元素数量按需动态增加,相比...

    1.泛型类 、通配符的使用、通配符的上限和下限 编写泛型类Stack<E>,该类中定义一个成员变量和如下方法:

    private LinkedList&lt;E&gt; elements = new LinkedList&lt;&gt;(); ``` **构造方法**: ```java public Stack() { // 初始化空栈 } ``` **入栈(push)方法**: ```java public void push(E element) { elements.addFirst...

    Java泛型的用法及T.class的获取过程解析

    * 集合框架:泛型可以用于集合框架中,例如List&lt;T&gt;、Map&lt;T,U&gt;等。 * DAO设计模式:泛型可以用于DAO设计模式中,例如BaseHibernateEntityDao&lt;T&gt;等。 * 工具类:泛型可以用于工具类中,例如工具类的静态方法可以使用...

    C#List字典Dictionary泛型集合实例,源码

    首先,`List&lt;T&gt;`是.NET中最基本的动态数组,它实现了`IList&lt;T&gt;`, `ICollection&lt;T&gt;`, `IEnumerable&lt;T&gt;`等多个接口。`List&lt;T&gt;`提供了添加、删除、查找、排序等多种操作,适用于需要按顺序访问数据的场景。例如,你可以...

    dictionary<>泛型数据案例

    在这个“dictionary&lt;&gt;泛型数据案例”中,我们将深入探讨`Dictionary&lt;,&gt;`类以及与其相关的`List&lt;T&gt;`泛型集合的使用。 首先,让我们了解什么是泛型。泛型是.NET框架中的一个强大特性,它允许我们在定义类型(如类、...

    cpp代码-模板 泛型 template<typename> template<class>

    template &lt;&gt; void swap(int& a, int& b) { std::swap(a, b); // 使用内置的交换函数,可能更高效 } ``` 模板模板参数则允许我们为接受其他模板作为参数的模板编写代码,例如`std::allocator`模板: ```cpp ...

    C# ListT ContainsT()的用法小结

    泛型List&lt;T&gt;中有一个比较列表是否已包含对象的方法Contains&lt;T&gt;(),今天在网上搜了一个用法,记录下来,备查。 要用此方法比较我们的自定义对象,首先要有一个比较器, 要注意的是,这里的比较器是实现...

    泛型(generic)

    泛型在.NET中的应用非常广泛,包括但不限于集合(如List&lt;T&gt;、Dictionary&lt;TKey, TValue&gt;)、委托(如Action&lt;T&gt;、Func&lt;T, TResult&gt;)以及自定义的数据结构和算法。泛型接口(如IEnumerable&lt;T&gt;)使LINQ成为可能,极大地...

    C#泛型类、泛型方法、泛型接口、泛型委托的实例

    例如,我们可以创建一个名为`GenericContainer&lt;T&gt;`的泛型类,其中`T`就是类型参数。这个类可以存储任何类型的对象,但具体类型在实例化时确定。这样做的好处是,我们无需为每种可能的数据类型创建单独的类,从而提高...

Global site tag (gtag.js) - Google Analytics