JAVA 泛型

来源:互联网 发布:c语言结构体 编辑:程序博客网 时间:2024/05/01 23:15

1.1 简单的泛型类和接口

当指定一个泛型类时,类的声明包含一个或多个类型参数,这些参数被放在类名后面的一对尖括号里。用户可以创建像V<String>和V<Integer>这样的类型,但是8种基本类型却不可以,比如V<int>是错误的。

     public class v<AnyType> {
  private AnyType storedValue;
  public  AnyType read(){
 return storedValue;
  }
  public void set(AnyType x){
 storedValue = x;
  }

}

 泛型接口。

在JAVA5 以后,Comparable接口是泛型的,代码如下所示。

import java.lang.*;
public class v<AnyType> {
public interface Comparable<AnyType>
{
public int compareTo(AnyType other);
}


}

1.2 自动装箱/拆箱

在泛型种基本类型的放入是不可以的,但是Java5以后提供了自动装箱和拆箱,比如int型量被传递到一个需要Integer对象的地方,编译器会在幕后插入一个队Integer构造方法的调用,这就是自动装箱,相反的,Integer对象被放到需要int类型的地方时会自动插入一个intValue方法的调用。这叫做自动拆箱。

package first;


public class boxing {
public static void main(String args[]){
v<Integer> m = new v<>();//此处还是需要标明是Integer类型。

m.set(37);       //此处自动装箱。
int val = m.read();
System.out.println("value is: " + val);

}

}


1 0
原创粉丝点击