Java泛型分类

简介: Java泛型分类

泛型分类
泛型有三种使用方式:
泛型类:
在定义类时使用类型参数,这样类就可以被用于各种数据类型。声明泛型类非常简单,只需要在类名后添加一对尖括号,里面写上类型参数即可。
// T1, T2, ..., Tn 是类型参数,它们在实例化泛型类时被替换为具体的类型。
class className {
private T1 t1;
private T2 t2;
public void set(T t) {
this.t1 = t;
}
}
泛型接口
public interface Generator {
T next();
}
实现泛型接口时,可以选择指定具体类型,也可以继续保持泛型。
public class NumberGenerator implements Generator {
private int index = 0;
public Integer next() {
return index++;
}
}
泛型方法
泛型方法是在方法级别使用泛型,即方法可以在调用时确定泛型参数的具体类型。可以在泛型类使用,也可以再非泛型类中使用。
泛型方法的类型参数放在修饰符(如 public、static 等)之后,返回类型之前。
<类型参数T>必不可少,这表明这是一个泛型方法,并且声明了一个泛型T。这个类型参数T可以出现在这个泛型方法的任意位置,泛型的数量也可以为任意多个
语法:
修饰符 <类型参数T> 返回类型 方法名(参数列表) {
// 方法体
}
示例:
public class Util {
public static boolean compare(Pair p1, Pair p2) {
return p1.getKey().equals(p2.getKey()) && p1.getValue().equals(p2.getValue());
}
}
在这个示例中,compare方法是一个泛型方法,它有两个类型参数K和V,用于比较两个Pair对象的键和值是否相等。
泛型方法可以是静态的,也可以是实例的。在静态泛型方法中,类型参数是在调用方法时确定的,与类实例无关。

目录
相关文章
|
Java 调度
Java中常见锁的分类及概念分析
Java中常见锁的分类及概念分析
208 0
|
4月前
|
机器学习/深度学习 分布式计算 Java
Java 大视界 -- Java 大数据机器学习模型在遥感图像土地利用分类中的优化与应用(199)
本文探讨了Java大数据与机器学习模型在遥感图像土地利用分类中的优化与应用。面对传统方法效率低、精度差的问题,结合Hadoop、Spark与深度学习框架,实现了高效、精准的分类。通过实际案例展示了Java在数据处理、模型融合与参数调优中的强大能力,推动遥感图像分类迈向新高度。
|
存储 Java
java基础(7)变量以及变量的分类
Java变量是内存中存储数据的基本单元,包含数据类型、名称和字面值。变量的数据类型决定了分配的内存空间大小。变量声明格式为“数据类型 变量名;”,变量名应符合标识符命名规范。变量可以重新赋值,但数据类型需一致。变量可以一行声明多个,作用域决定了变量的可用范围。变量分为局部变量和成员变量,局部变量定义在方法体内,成员变量定义在方法体外、类体内。
196 3
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
387 2
|
数据可视化 Java
Java语言使用DL4J实现图片分类
【6月更文挑战第14天】Java语言使用DL4J实现图片分类
292 3
|
Java 编译器
Java一分钟之——异常分类:检查异常与运行时异常
【5月更文挑战第20天】Java异常处理分为检查异常(Checked Exceptions)和运行时异常(Unchecked Exceptions),两者在编译期处理方式不同。检查异常需捕获或声明,如`IOException`,而运行时异常如`NullPointerException`在运行时终止程序。常见问题包括不恰当的异常使用、过度捕获和忽略异常信息。避免策略包括正确区分异常类型、具体捕获和处理异常信息。示例代码展示了如何处理这两种类型的异常。理解并妥善处理异常能提升程序的健壮性和可维护性。
323 4
|
10月前
|
缓存 Java 开发者
Java字面量详解:概念、分类与使用实例
本文介绍了Java字面量的概念、分类及应用。
429 11
|
Java
Java 中 IO 流的分类详解
【10月更文挑战第10天】不同类型的 IO 流具有不同的特点和适用场景,我们可以根据具体的需求选择合适的流来进行数据的输入和输出操作。在实际应用中,还可以通过组合使用多种流来实现更复杂的功能。
397 57
|
Java 开发者
Java 中的锁是什么意思,有哪些分类?
在Java多线程编程中,锁用于控制多个线程对共享资源的访问,确保数据一致性和正确性。本文探讨锁的概念、作用及分类,包括乐观锁与悲观锁、自旋锁与适应性自旋锁、公平锁与非公平锁、可重入锁和读写锁,同时提供使用锁时的注意事项,帮助开发者提高程序性能和稳定性。
506 3
|
Java
让星星⭐月亮告诉你,Java异常分类[Throwable(Error/Exception(RuntimeException/其他异常)) 检查时异常 非检查时异常]
本文深入解析了Java异常处理机制,重点介绍了`Throwable`类及其子类`Error`和`Exception`,并通过实例代码、流程图和表格详细解释了异常的分类、区别及处理方法,帮助读者掌握异常处理的关键技巧,提升程序的稳定性和健壮性。
299 1
下一篇
oss云网关配置