`

泛型的使用

阅读更多
public class ClassTest {
  public static void main(String[] args) throws Exception {
    ParameterizedType type = (ParameterizedType) 
       Bar.class.getGenericSuperclass();
    System.out.println(type.getActualTypeArguments()[0]);
 
    ParameterizedType fieldType = (ParameterizedType) 
        Foo.class.getField("children").getGenericType();
    System.out.println(fieldType.getActualTypeArguments()[0]);
 
    ParameterizedType paramType = (ParameterizedType) 
        Foo.class.getMethod("foo", List.class)
        .getGenericParameterTypes()[0];
    System.out.println(paramType.getActualTypeArguments()[0]);
 
    System.out.println(Foo.class.getTypeParameters()[0]
        .getBounds()[0]);
  }
 
  class Foo<E extends CharSequence> {
    public List<Bar> children = new ArrayList<Bar>();
    public List<StringBuilder> foo(List<String> foo) {return null; }
    public void bar(List<? extends String> param) {}
  }
 
  class Bar extends Foo<String> {}
}

 

 

class java.lang.String
class ClassTest$Bar
class java.lang.String
class java.lang.StringBuilder
interface java.lang.CharSequence

 

分享到:
评论

相关推荐

    Java泛型使用详细分析.pdf

    Java 泛型使用详细分析 Java 泛型是 Java 语言中的一种类型系统特性,允许开发者在编译期检查类型安全,以避免在运行时出现类型相关的错误。在本文中,我们将详细介绍 Java 泛型的使用方法和实现原理。 一、泛型的...

    Delphi_2009_2010_XE_泛型使用全集(队_栈_字典_列表_对象列表)

    ### Delphi 泛型使用全集(队列_栈_字典_列表_对象列表) #### 一、泛型概述 在 Delphi 中,泛型编程允许开发人员编写灵活且可重用的代码,该代码可以操作不同类型的值。通过使用泛型,我们可以创建能够处理各种...

    Java泛型使用详细分析.docx

    这样可以限制泛型使用的类型范围。 7. **类型擦除** 需要注意的是,Java的泛型是类型擦除的,这意味着在运行时,所有的泛型信息都会被擦除,实际的类型检查都在编译期间完成。因此,泛型不会影响程序的运行时性能...

    C#泛型使用小案例 c#经典案例.pdf

    C#泛型使用小案例 c#经典案例.pdf

    myreflect.rar 反射和泛型使用源码

    1. **类型参数**:定义泛型类或接口时,使用尖括号`&lt;T&gt;`表示类型参数,T是占位符,代表任意类型。 2. **通配符**:如`?`,表示未知类型,常用于方法参数,提供更大的灵活性。 3. **边界**:`&lt;T extends SomeClass&gt;`...

    JDK1.5泛型使用下载

    Java泛型是在JDK 1.5版本中引入的...完成这些练习后,你应该对泛型有深入的理解,包括它们如何提高代码的类型安全性、如何使用通配符以及如何与非泛型代码协作。这些技能对于编写高质量、易于维护的Java代码至关重要。

    c# 泛型的使用,教你如何用泛型

    本篇文章将深入探讨C#中的泛型使用方法,帮助你更好地理解和应用这一关键概念。 首先,我们需要理解什么是泛型。泛型允许我们在定义类、接口、委托和方法时,不指定具体的类型参数,而是使用一个占位符,如`T`、`K`...

    超全面javaweb教程第7天- 05 泛型使用在集合上一

    超全面javaweb教程第7天-_05_泛型使用在集合上一

    超全面javaweb教程第7天- 06 泛型使用在集合上二

    超全面javaweb教程第7天-_06_泛型使用在集合上二

    使用通配符简化泛型使用1

    泛型是Java中的一种特性,它允许在类、接口和方法中使用类型参数,以增强类型安全性。泛型的主要目标是确保在编译时就能检测出可能的类型错误,而不是在运行时通过异常来发现。 2. 通配符(Wildcards): 通配符是...

    泛型学习 泛型使用 C#

    最近频繁的接触到泛型方面的问题,所以也不得不来学习一下了,开始主要是在MSDN的WebCast上去下载教学录象看的(李建忠老师的),本篇文章先介绍一下泛型入门方面的知识,希望能让刚开始学习泛型的朋友能够更快的入门, ...

    Java静态泛型使用方法实例解析

    Java静态泛型使用方法实例解析 Java静态泛型使用方法实例解析主要介绍了Java静态泛型使用方法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。 一...

    泛型笔记学习2009

    #### 泛型使用示例 以下是一个使用泛型的例子,展示了如何创建一个泛型类和泛型方法: ```java // 泛型类示例 public class Box&lt;T&gt; { private T t; public void set(T t) { this.t = t; } public T get() { ...

    java泛型的使用

    4. **泛型使用示例**:在集合框架中,泛型的应用尤为突出。例如,`Map, String&gt;`声明了一个将字符串作为键和值的映射,这样可以确保所有插入和检索的数据都是字符串类型,避免了运行时的类型异常。在实际编程中,...

    Java重要的泛型使用方法.docx

    ### Java泛型的重要使用方法 #### 一、引言与背景 在软件开发过程中,我们经常需要编写可重用的代码来处理不同类型的对象。例如,假设我们需要创建一个`MyArrayList`类,它可以用来存储一系列的数据,并提供添加和...

    Java泛型应用实例

    例如,Java 8引入的流(Stream)API大量使用了泛型,使我们能够进行更高效、更简洁的集合操作。 配合博主的博客文章,你可以更深入地了解泛型在实际项目中的应用,包括但不限于类型安全的容器、泛型与反射的交互、...

    WCF中应用泛型

    1. **使用接口或抽象基类**:定义一个接口或抽象基类(例如`EntityBase`),让需要使用泛型的服务方法接受这个接口或基类的对象。 2. **使用`KnownType`属性**:通过为`DataContract`类型添加`KnownType`属性来指定...

Global site tag (gtag.js) - Google Analytics