3.2Java语言的泛型(Generic)

泛型类或接口

类型变量放在类名或接口名的后面。

class 类名<T1, T2> {
    //类体
}
interface 接口名<T1, T2> {
    //接口体
}
public class Pair<T> {

    private T first;
    private T second;

    public Pair() { 
        first = null;
        second = null;
    }

    public Pair(T first, T second) {
        this.first = first;
        this.second = second;
    }

    public T getFirst() {
        return first;
    }

    public T getSecond() {
        return second;
    }

    public void setFirst(T newValue) {
        first = newValue;
    }

    public void setSecond(T newValue) {
        second = newValue;
    }
}

泛型方法

类型变量放在修饰符的后面,并在返回类型的前面。

在方法中也可以使用泛型,即方法的参数类型或返回值类型,可以用类型参数表示。

修饰符 <T> T 方法名(T a, T b) {
    //方法体
}
class ArrayAlg {
    public static <T> T getMiddle(T...a) {
        return a[a.length / 2];
    } 
}

泛型字母约定

T、U和S:任意类型
E:集合的元素类型
K和V:键和值的类型

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/java/javalang/2514.html

(0)
上一篇 2021年1月1日 16:38
下一篇 2021年1月2日 02:18

相关推荐

  • 1.3Java语言的分隔符(Separator)和运算符(Operator)

    分隔符(Separator) Java语言包括9个分隔符:圆括号(( ))、花括号( { })、方括号([ ])、分号(;)、逗号(,)、圆点(.)、省略号(…)、at符号(@)、双冒号(::)。 运算符(Operator) 1.算术运算符 运 算 符 名 称 说 明 例 子 –  取反符号 取反…

    Java语言教程 2020年11月3日
    01.8K0
  • 2.3Java语言的抽象类(Abstract)和接口(Interface)

    1.抽象类(Abstract Class) 类是对象的抽象,抽象类是类的更高一个层次的抽象,所以抽象类是一个“不完整的类”。 抽象类可以包含静态变量和实例变量。 抽象类中不一定包含抽象方法,但是包含抽象方法的类必须被定义为抽象类。 abstract 修饰的方法是抽象方法,它只有定义,没有实现。 abstract 修饰符…

    Java语言教程 2020年12月3日
    08790
  • 1.6Java语言的变量(Variable)和常量(Final Variable)

    1.变量(Variable)声明和初始化 2.变量的分类和作用域 2.1成员变量 Java 的成员变量有两种,分别是类变量和实例变量。定义在方法体和语句块之外,不属于任何一个方法,作用域是整个类。 名称 修饰符 访问 生命周期 类变量(class variable) 用 static 修饰 类.类变量 其生命…

    Java语言教程 2020年11月6日
    08120

发表评论

登录后才能评论