java 泛型用法实例
Java泛型是Java5引入的一个新特性,它增加了代码的复用性和类型安全性。泛型主要用于在编译时期进行类型检查,可以避免在运行时期发生类型转换异常等问题。
下面是Java泛型的一些常见用法实例:
1. 泛型类
泛型类是指在类的定义中使用泛型形参,可以在类中使用这些类型参数。例如,下面是一个泛型类的定义:
```java
public class Box<T> {
java arraylist用法 private T t;
public void set(T t) {
this.t = t;
}
public T get() {
return t;
}
}
```
这个泛型类定义了一个Box类,它的实例可以存储任意类型的对象。我们可以使用该类来创建一个具体的对象,例如:
```java
Box<Integer> box = new Box<>();
box.set(10);
System.out.()); // 输出 10
```
这里创建了一个存储整数类型的Box对象,并将值设置为10,然后输出该对象的值。
2. 泛型方法
泛型方法是指在方法的定义中使用泛型形参,可以在方法中使用这些类型参数。例如,下面是一个泛型方法的定义:
```java
public <T> void print(T t) {
System.out.println(t);
}
```
这个泛型方法定义了一个print方法,可以输出任意类型的对象。我们可以使用该方法来输出一个整数和一个字符串,例如:
```java
print(10); // 输出 10
print('hello'); // 输出 hello
```
这里使用了print方法来输出一个整数和一个字符串,它们的类型由方法的调用者决定。
3. 泛型接口
泛型接口是指在接口的定义中使用泛型形参,可以在接口中使用这些类型参数。例如,下面是一个泛型接口的定义:
```java
public interface List<T> {
void add(T t);
T get(int index);
}
```
这个泛型接口定义了一个List接口,它可以存储任意类型的对象。我们可以使用该接口来实现一个具体的列表,例如:
```java
public class ArrayList<T> implements List<T> {
private T[] array;
private int size;
public ArrayList() {
array = (T[]) new Object[10];
size = 0;
}
public void add(T t) {
if (size == array.length) {
T[] newArray = (T[]) new Object[array.length * 2];
System.arraycopy(array, 0, newArray, 0, array.length);
array = newArray;
}
array[size++] = t;
}
public T get(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
}
return array[index];
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论