java 泛型详解
来源:互联网 发布:淘宝买武士刀犯法吗 编辑:程序博客网 时间:2024/04/28 15:42
废话不多少,直接上代码
普通泛型
class Point<T>{// 此处可以随便写标识符号,T是type的简称private T var ;// var的类型由T指定,即:由外部指定public T getVar(){// 返回值的类型由外部决定return var ;}public void setVar(T var){// 设置的类型也由外部决定this.var = var ;}};public class GenericsDemo06{public static void main(String args[]){Point<String> p = new Point<String>() ;// 里面的var类型为String类型p.setVar("it") ;// 设置字符串System.out.println(p.getVar().length()) ;// 取得字符串的长度}};----------------------------------------------------------class Notepad<K,V>{// 此处指定了两个泛型类型private K key ;// 此变量的类型由外部决定private V value ;// 此变量的类型由外部决定public K getKey(){return this.key ;}public V getValue(){return this.value ;}public void setKey(K key){this.key = key ;}public void setValue(V value){this.value = value ;}};public class GenericsDemo09{public static void main(String args[]){Notepad<String,Integer> t = null ;// 定义两个泛型类型的对象t = new Notepad<String,Integer>() ;// 里面的key为String,value为Integert.setKey("汤姆") ;// 设置第一个内容t.setValue(20) ;// 设置第二个内容System.out.print("姓名;" + t.getKey()) ;// 取得信息System.out.print(",年龄;" + t.getValue()) ;// 取得信息}};
通配符
class Info<T>{private T var ;// 定义泛型变量public void setVar(T var){this.var = var ;}public T getVar(){return this.var ;}public String toString(){// 直接打印return this.var.toString() ;}};public class GenericsDemo14{public static void main(String args[]){Info<String> i = new Info<String>() ;// 使用String为泛型类型i.setVar("it") ;// 设置内容fun(i) ;}public static void fun(Info<?> temp){// 可以接收任意的泛型对象System.out.println("内容:" + temp) ;}};
受限泛型
class Info<T>{private T var ;// 定义泛型变量public void setVar(T var){this.var = var ;}public T getVar(){return this.var ;}public String toString(){// 直接打印return this.var.toString() ;}};public class GenericsDemo17{public static void main(String args[]){Info<Integer> i1 = new Info<Integer>() ;// 声明Integer的泛型对象Info<Float> i2 = new Info<Float>() ;// 声明Float的泛型对象i1.setVar(30) ;// 设置整数,自动装箱i2.setVar(30.1f) ;// 设置小数,自动装箱fun(i1) ;fun(i2) ;}public static void fun(Info<? extends Number> temp){// 只能接收Number及其Number的子类System.out.print(temp + "、") ;}};----------------------------------------------------------class Info<T>{private T var ;// 定义泛型变量public void setVar(T var){this.var = var ;}public T getVar(){return this.var ;}public String toString(){// 直接打印return this.var.toString() ;}};public class GenericsDemo21{public static void main(String args[]){Info<String> i1 = new Info<String>() ;// 声明String的泛型对象Info<Object> i2 = new Info<Object>() ;// 声明Object的泛型对象i1.setVar("hello") ;i2.setVar(new Object()) ;fun(i1) ;fun(i2) ;}public static void fun(Info<? super String> temp){// 只能接收String或Object类型的泛型System.out.print(temp + "、") ;}};
泛型接口
interface Info<T>{// 在接口上定义泛型public T getVar() ;// 定义抽象方法,抽象方法的返回值就是泛型类型}class InfoImpl<T> implements Info<T>{// 定义泛型接口的子类private T var ;// 定义属性public InfoImpl(T var){// 通过构造方法设置属性内容this.setVar(var) ;}public void setVar(T var){this.var = var ;}public T getVar(){return this.var ;}};public class GenericsDemo24{public static void main(String arsg[]){Info<String> i = null;// 声明接口对象i = new InfoImpl<String>("汤姆") ;// 通过子类实例化对象System.out.println("内容:" + i.getVar()) ;}};----------------------------------------------------------interface Info<T>{// 在接口上定义泛型public T getVar() ;// 定义抽象方法,抽象方法的返回值就是泛型类型}class InfoImpl implements Info<String>{// 定义泛型接口的子类private String var ;// 定义属性public InfoImpl(String var){// 通过构造方法设置属性内容this.setVar(var) ;}public void setVar(String var){this.var = var ;}public String getVar(){return this.var ;}};public class GenericsDemo25{public static void main(String arsg[]){Info i = null;// 声明接口对象i = new InfoImpl("汤姆") ;// 通过子类实例化对象System.out.println("内容:" + i.getVar()) ;}};
- Java泛型详解
- java泛型详解
- java泛型详解
- Java泛型详解
- Java泛型详解
- java泛型详解
- Java泛型详解
- java泛型详解
- java 泛型详解
- java 泛型详解
- Java 泛型详解
- java 泛型详解
- java 泛型详解
- java泛型详解
- java 泛型详解
- Java泛型详解
- java 泛型详解
- java 泛型详解
- hibernate 乐观锁与悲观锁使用
- 傲娇Android二三事之天不长地不久的Bitmap.compress
- linux常用命令
- Java在ACM中的使用
- 金正恩为什么总是喜欢打鸡血
- java 泛型详解
- apache+tomcat访问速度变慢问题
- 10个iPhone开发网站、论坛、博客
- UDP编程实验
- 如何加入Apple苹果的开发者计划?
- ubuntu下安装Apache+PHP+Mysql
- Hadoop源代码分析(二)IO结构
- 先验概率与后验概率及贝叶斯公式
- 《Objective-C 程序设计(第4版)》读后感