`
de6566088
  • 浏览: 32141 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

泛型的简单理解

阅读更多

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Vector;


public class GenericTest {
 
 /*在JAVA1.4中的集合应用是无泛型的,我们可以向内部传入各种种类的值*/
 public void Generic14(){
  ArrayList co = new ArrayList();
  co.add(1);
  co.add(1L);
  co.add("aaa");
  /*但是我们需要在获取的时候对其进行强制类型转换*/
  int i = (Integer)co.get(0);
  System.out.println(i);
 }
 
 /*JDK1.5中添加了泛型关键字为<>(如<String>,其中放置的基本数据类型)这样有效的减少强制转换*/
 public void Generic15() throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException{
  ArrayList<Integer> cos = new ArrayList<Integer>();
  cos.add(1);
  cos.add(2);
  /*因为经过泛型所以cos.add("abc");不能被编译器所通过,但是泛型的样式在编译过后将被剔除仍为ArrayList形式*/
  /*以下为反射的例子,去做验证,利用反射的方法调用ArrayList的add方法向cos对象中插入字符串abc*/
  Method  method = ArrayList.class.getMethod("add", Object.class);
  //            对象   参数值
  method.invoke(cos, "abc");
  //遍历cos对象
  for(Object c : cos){
   System.out.println(c);
  }
 }
 
 public void Connection(){
  //Collection父类
  Collection c = new ArrayList();
  //Vector类型用于做什么?
  Vector<String> d = new Vector();
 }
 
 public static void main(String[] args) throws SecurityException, IllegalArgumentException, NoSuchMethodException, IllegalAccessException, InvocationTargetException {
  GenericTest genericTest = new GenericTest();
  genericTest.Generic14();
  genericTest.Generic15();
 }
 
}

分享到:
评论

相关推荐

    设计模式之从简单工厂到泛型简单工厂

    "设计模式之从简单工厂到泛型简单工厂"这个主题关注的是创建型设计模式,特别是如何逐步改进简单工厂模式以提高其灵活性和可扩展性。简单工厂模式是一种静态工厂方法,用于创建对象,而泛型简单工厂则是对其的一种...

    JVM如何理解Java泛型类.doc

    例如,以下是一个简单的泛型类`Pair`的定义: ```java public class Pair&lt;T&gt; { private T first = null; private T second = null; public Pair(T fir, T sec) { this.first = fir; this.second = sec; } ...

    java 一个关于泛型的简单例子

    此外,文件名`Java.jpg`可能表示的是一个与这个泛型例子相关的图片,可能是一个截图或者示意图,用于帮助理解泛型的概念或者`MyFirstGeneric`类的结构和用法。在实际学习过程中,视觉辅助工具往往能够帮助我们更好地...

    简单的List泛型模拟

    "简单的List泛型模拟"这个主题就是关于如何理解和实现一个简单的泛型列表类的模拟。 泛型的基本概念: 1. 泛型是Java SE 5.0引入的新特性,主要用于增强类型安全。 2. 泛型允许在定义类、接口和方法时使用类型参数...

    Java语言 泛型讲解案例代码 (泛型类、泛型接口、泛型方法、无界及上下限通配符、泛型对协变和逆变的支持、类型擦除 ...)

    定义泛型类:展示如何定义一个简单的泛型类,以及如何创建该类的实例并使用泛型参数。 泛型方法:演示如何在普通类中定义泛型方法,以及如何调用和使用泛型方法。 类型通配符:展示如何使用类型通配符来增加灵活性,...

    C#泛型C#泛型C#泛型

    类型参数是一个简单的标识符,它指示了用来创建一个构造类型的类型参数的占位符。类型参数是在后面将要被提供的类型的形式占位符。例如: ``` class C&lt;T&gt; { } ``` 这个声明定义了一个泛型类 C,其中 T 是一个类型...

    C# 简单 泛型 用法

    本文将深入探讨C#中的泛型,它是C#的一个重要特性,对于初学者来说,理解并掌握泛型是提高编程效率和代码复用性的关键。 泛型在C#中引入的主要目的是为了提高类型安全性和性能。它允许我们在编写代码时定义不特定于...

    java泛型指南 经典

    例如,我们可以定义一个简单的泛型类 `Box`: ```java public class Box&lt;T&gt; { private T item; public void setItem(T item) { this.item = item; } public T getItem() { return item; } } ``` 在这个例子...

    Java泛型应用实例

    首先,让我们理解泛型的基本概念。泛型主要由两部分组成:类型参数和类型边界。类型参数是在类或方法声明中使用的占位符,用来表示任意类型。例如,`List&lt;T&gt;` 中的 `T` 就是一个类型参数。类型边界则限制了类型参数...

    C#泛型接口实例

    在C#编程语言中,泛型接口是一种强大的...通过理解和熟练使用泛型接口,开发者可以编写出更强大、更适应变化需求的软件系统。在实际开发中,泛型接口常用于设计通用服务、容器和算法,以提升代码的可扩展性和维护性。

    C__泛型的运用

    为了更好地理解泛型的用法,让我们看一个具体的示例。假设我们需要创建一个可以存储不同类型对象的集合,并提供类型信息的方法。 ```csharp public class TypeHelper { public string GetType(T t) { return ...

    xe7结构体泛型

    在编程领域,泛型是一种强大的工具,它允许程序员创建可重用的代码,这些代码能够处理多种数据类型。...在设计和使用泛型结构体时,理解其工作原理和潜在陷阱至关重要,以确保代码的正确性和高性能。

    WCF中应用泛型

    #### 一、泛型概念的理解与重要性 在软件开发领域,特别是面向对象编程中,泛型是一种重要的编程技术,它允许开发者编写一种类型的代码来处理不同的数据类型,从而提高了代码的复用性和灵活性。在.NET框架下,WCF...

    java 继承非泛型类示例

    以下是一个简单的非泛型类示例: ```java public class NonGenericClass { private int value; public NonGenericClass(int value) { this.value = value; } public int getValue() { return value; } ...

    C#学习之路--泛型

    例如,下面是一个简单的泛型方法定义: ```csharp public T Swap(T a, T b) { T temp = a; a = b; b = temp; return a; } ``` 在这个例子中,`T`就是一个类型参数,表示这个方法可以接受任何类型的参数。 **...

    excel中取出泛型数据存入泛型的list中

    首先,我们要理解什么是泛型。泛型是Java和C#等现代编程语言中的一种特性,允许在数据结构(如List)中指定元素类型。这样做可以确保在编译时检查类型,避免运行时的类型转换异常,并提供更好的性能。例如,在Java中...

    vs2008 泛型 的使用 实例

    首先,我们需要理解什么是泛型。泛型允许我们在编程时定义一个通用的类、接口或方法,而不指定具体的类型。这样做的好处是,我们可以在编译时确保类型的安全性,同时避免了不必要的类型转换,减少了运行时的性能损失...

    JAVA泛型教程(帮你解决学习泛型的苦恼)

    2. **如何定义简单泛型** 泛型的定义通常在类、接口或方法声明中,用尖括号 `&lt;T&gt;` 表示类型参数。在类 `Gclass&lt;T&gt;` 的例子中,`T` 是一个代表任意类型的占位符,可以被替换为任何实际类型。`getA()` 和 `setA(T)` ...

Global site tag (gtag.js) - Google Analytics