泛型
Java泛型是JDK5中引入的一个新特性,编译时提供安全检测机制,允许编译时检测到非法类型,其实本质就是参数化类型,也就是操作的数据类型被指定为一个参数。
泛型中的标记符
- E-Element(在集合中使用,因为集合存放的是元素)
- T-Type(Java类)
- K-Key(键)
- V-Value(值)
- N-Number(数值)
- ?-表示不确定的Java类型
泛型方法
public class GenericMethodTest {
public static <E> void printArray(E[] inputArray) {
for (E e : inputArray) {
System.out.print(" " + e + " ");
}
System.out.println();
}
public static void main(String[] args) {
// 创建不同类型数组: Integer, Double 和 Character
Integer[] intArray = {1, 2, 3, 4, 5};
Double[] doubleArray = {1.1, 2.2, 3.3, 4.4};
Character[] charArray = {'H', 'E', 'L', 'L', 'O'};
// 传递一个整型数组
System.out.println("整型数组元素为:");
printArray(intArray);
// 传递一个双精度型数组
System.out.println("双精度型数组元素为:");
printArray(doubleArray);
// 传递一个字符型数组
System.out.println("字符型数组元素为:");
printArray(charArray);
}
}
结果:
整型数组元素为:
1 2 3 4 5
双精度型数组元素为:
1.1 2.2 3.3 4.4
字符型数组元素为:
H E L L O
泛型类
public enum ResultCode implements IErrorCode {
SUCCESS(200, "操作成功"),
FAILED(500, "操作失败"),
VALIDATE_FAILED(404, "参数检验失败"),
UNAUTHORIZED(401, "暂未登录或token已经过期"),
FORBIDDEN(403, "没有相关权限");
private final long code;
private final String message;
ResultCode(long code, String message) {
this.code = code;
this.message = message;
}
public long getCode() {
return code;
}
public String getMessage() {
return message;
}
}