码迷,mamicode.com
首页 > 编程语言 > 详细

Java重要技术(20)泛型之参数化类型的特点

时间:2017-04-07 23:34:00      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:others   引用   strong   sys   语法   out   amp   object   code   

1.1. 参数化类型的特点

参数化类型有以下特点:

(1)参数化类型和没有类型参数的原始类型在编译后没有本质区别。

(2)类型参数不同的两个参数化类型,不能混用。

 

public class GenericParameterTest {

 

//参数化类型T,可以为String,Integer等引用类型。

static class  Sample<T> {

 

//不带参数的构造函数。

public Sample(){

this.obj = null;

}

public Sample(T obj){

this.obj = obj;

}

 

//参数化类型作为返回值的类型。

public T work(){

System.out.println("work:"+this.obj);

return this.obj;

}

 

//参数化类型作为参数的类型。

public void update(T obj){

this.obj = obj;

}

 

 

//参数化类型作为属性的类型。

private T  obj;

 

}

 

public static void main(String[] args) {

 

//语法错误。错误用法。

//Sample<int>  anotherSample = new Sample<int>(1);

 

//正确用法。T是Integer.

Sample<Integer> anotherSample = new Sample<Integer>(1);

 

//正确用法:不使用类型参数,相当于Sample<String>。

       //此时可以推导出类型参数为String。

Sample  sam = new Sample("Hello");

 

//错误用法,不能将String转化为Integer.

//Integer  result = sample.work();

 

//正确用法。String work();

String result = sample.work();

 

//原始类型。相当于Sample<Object>但是不同于Sample<Object>。

        //此时只能推导出类型参数为Object。

Sample  sa = new Sample();

//错误用法,不能将Object转化为String.

//String  res = sa.work();

 

//正确用法。Object work();

Object  res = sa.work();

 

}

 

 

Java重要技术(20)泛型之参数化类型的特点

标签:others   引用   strong   sys   语法   out   amp   object   code   

原文地址:http://www.cnblogs.com/coe2coe/p/6680177.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!