说散就散以前任泛型-1

 

泛型

本节要点:数组

  • 1 泛型类是带有一个或者多个类型的参数的类。
  • 2 泛型方法是带有类型参数的方法。
  • 3 你能够要求类型参数必须是一个或者多个类型的子类型。
  • 4 泛型类型是不变的,当S是T的子类是 G<S>和G<T>没有关系。
  • 5 经过使用通配符G<? extends T> 或者 G<> super T> 你能够制定一个方法接受一个带有子类或者父类参数的泛型类型的实例。
  • 6 当泛型类和泛型方法被编译时,类型参数会被擦除。
  • 7 类型擦除对泛型诸多限制,特别是,你不能实例化泛型类或者数组,不能转换成泛型类型,或者抛出一个泛型类的对象。
  • 8 Class<T> 是一个泛型类,他很是有用,由于诸如newInstance这样的方法被申明为一个T类型的值。
  • 9 即便泛型类和方法在虚拟机中被擦除,你也能够在运行时找出他们是如何申明的。

1 .泛型类网络

/** * 泛型类是有一个或者多个类型参数的类 * @author gaolei **/
public class Entry<K,V> { private K key; private V value; public Entry(K key, V value) { this.key = key; this.value = value; } public K getKey() { return key; } public V getValue() { return value; } }

  正如你看到的那样,类名以后的尖括号中指定了类型参数K和V,在类成员的定义中,他们被用做实例变量的类型、方法的参数和返回值的类型。this

构造一个泛型类的对象是 例如  Entry<String ,Integer> entry = new Entry<>("1",2); 等同new Entry<String ,Integer>("1",2),注意类型参数不能用基本数据类型实例化。spa

2.泛型方法code

/** * @author GAOLEI **/
public class Arrays { /** * 泛型方法是一个带有类型参数的方法 泛型方法能够是普通类或者泛型类 * @param arr 数组 * @param i 下标i * @param j 下标j * @param <T> 类型T */
    public static <T> void swap(T[] arr,int i,int j){ T temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } }

 

 
swap方法能够交换任何数组中的元素(只要数组中的元素类型不是基本数据类型),
public static void main(String[] args) { String [] arr = {"1","2"}; //<String> 非必须
        Arrays.<String>swap(arr,0,1); for (String s : arr) { System.out.println(s); } }

 

经过上面的例子你是否已经感觉到泛型是如此的有用。
------------------------题外话--------------------------------

                                                         图片来源于网络对象

说不上爱别说谎就一点喜欢blog

 

说不上恨别纠缠别装做感叹图片

 

就看成我太麻烦不停让本身受伤get

我告诉我本身感情就是这样虚拟机

 

怎么一不当心太疯狂

 

抱一抱再好好觉悟不能长久

 

好很差有亏欠咱们都别追究

 

算了吧我付出再多都不足够

每当听到这首说散就散笔者内省总会掀起波澜久久不能平静,不知道那些年错过的她们如今过得怎么样了,想一想小时候仍是太天真,哎。。。 在这里笔者但愿有情人都能成眷属,没能在一块儿也要让他轰轰烈烈。固然说了这么多的前提是先有个女友

以上内容仅表明做者我的观点,有不恰当但愿指正更改

Copyright 2018-1-7 by 风同样的男子

相关文章
相关标签/搜索