`

Java 泛型 Class<? extends List> c

 
阅读更多

 

关键字说明

  • ? 通配符类型
  • <? extends T> 表示类型的上界,表示参数化类型的可能是T 或是 T的子类
  • <? super T> 表示类型下界(Java Core中叫超类型限定),表示参数化类型是此类型的超类型(父类型),直至Object

 

//传参说明, 只能传List类型, 或 List的子类型,如:ArrayList 等

public void create(Class<? extends List> c){

       System.out.println("Say");

}

调用: ArrayList list = new ArrayList();

             m.create(list.getClass());

 

 

Class<? super String> c //传参说明, 只能传String类型, 或 String的父类类型,如:Object

分享到:
评论

相关推荐

    关于java基础的泛型的练习

    - 泛型类的实例化必须提供实际类型参数,如`MyList&lt;String&gt; list = new MyList&lt;&gt;();` - 对于无参构造的泛型类,可以使用匿名内部类的方式省略尖括号,如`new MyList&lt;String&gt;() {}`。 9. 泛型和静态方法: - 泛型...

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

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

    collections方法集合

    List&lt;String&gt; flavors = new ArrayList&lt;&gt;(); Collections.addAll(flavors, "Peaches'nPlutonium", "RockyRacoon"); ``` 此例中,`flavors`列表将被填充上指定的字符串元素。 #### 2. `asLifoQueue` 此方法将`...

    java泛型的内部原理及更深应用

    例如,使用`&lt;&gt;`钻石操作符,如`List&lt;String&gt; list = new ArrayList&lt;&gt;();`,编译器会自动推断出列表的类型。 7. **泛型方法**:除了泛型类,我们还可以定义泛型方法,方法的返回类型和参数列表可以包含类型参数。这...

    很好的Java泛型的总结

    extends Object&gt; list)方法可以添加Object或其子类的数据,add4(List&lt;? super Children&gt; list)方法可以添加Children或其父类的数据。 Java泛型是Java语言中的一种机制,用于在编译期检查类型安全。Java泛型可以...

    Java泛型_Java中的泛型结构_

    Java泛型是Java编程语言中一个强大的特性,它允许在定义类、接口和方法时使用类型参数,从而实现参数化类型。泛型的主要目标是提高代码的类型安全性和重用性,减少类型转换的麻烦,并在编译时捕获可能的类型错误。...

    java泛型深入.pdf

    extends T&gt;`表示`T`类型或其子类型的`List`,而`List&lt;? super T&gt;`表示`T`类型或其父类型的`List`。 使用泛型时,也要注意一些限制。例如,不能使用基本数据类型,只能使用引用数据类型。也不能实例化泛型类型参数...

    java泛型例子

    &gt; list = new ArrayList&lt;&gt;();`。这样的列表不能添加元素,但可以读取。此外,还有上限通配符`&lt;? extends SomeType&gt;`和下限通配符`&lt;? super SomeType&gt;`,分别限制了类型参数的范围。 5. 泛型的边界:在定义类型参数...

    java泛型Demo

    在创建类时,我们可以使用尖括号`&lt;&gt;`来定义泛型,如`class Box&lt;T&gt;`,其中`T`是一个类型参数,代表某种未知的数据类型。实例化泛型类时,我们可以指定具体的类型,如`Box&lt;String&gt; stringBox = new Box&lt;String&gt;()`。 ...

    SUN公司Java泛型编程文档

    9. **类型推断**:自JDK 7起,Java引入了类型推断,使得在某些情况下,编译器可以根据上下文自动推断出类型参数,简化代码,如`List&lt;String&gt; list = new ArrayList&lt;&gt;()`。 通过阅读SUN公司的Java泛型编程文档,你...

    实例讲解Java泛型编程的快速入门

    extends Number&gt; list)`接受`List&lt;Integer&gt;`或`List&lt;Double&gt;`等。 - 下界通配符:Java不支持下界通配符,但可以通过`List&lt;? super T&gt;`实现类似效果,允许传入`T`或其父类的列表。 3. **泛型与数据类型转换** - ...

    Java泛型通配符

    List&lt;Integer&gt; intList = new ArrayList&lt;&gt;(); printList(intList); // 可以接受Integer类型的列表 ``` 3. 下界通配符:? super T 表示可以接受T或T的任何超类型。这在向集合添加元素时很有用,因为我们可以将T及其...

    java泛型BaseDao与BaseService

    public abstract class BaseService&lt;T, DAO extends BaseDao&lt;T&gt;&gt; { protected DAO dao; public BaseService(DAO dao) { this.dao = dao; } public T findById(Long id) { return dao.findById(id); } // ...

    java泛型初探

    首先,泛型的基本语法是在类、接口或方法定义前添加尖括号`&lt;&gt;`,并在其中声明一个或多个类型参数。例如,创建一个可以存储任意类型对象的ArrayList,我们使用`List&lt;T&gt;`,其中`T`就是类型参数,代表一种未指定的具体...

    java泛型实例讲解代码.rar

    泛型类是在类定义时引入类型参数的,例如`class Container&lt;T&gt; { T item; }`,这里的`T`就是一个类型参数,代表某种未知的类型。在创建类的实例时,我们可以指定`T`的具体类型,如`Container&lt;String&gt;`或`Container...

    Java泛型编程快速入门

    - 在定义泛型类时,需要在类名后使用 `&lt;...&gt;` 来声明类型参数,如 `class TestGen&lt;K, V&gt;`。 - 类型参数 `K` 和 `V` 代表的是类型,而不是具体的值。 2. **实例化泛型对象**: - 实例化泛型类时,需要指定类型参数...

Global site tag (gtag.js) - Google Analytics