泛型的使用

简介: 今天和考上研究生的老同学聊了一会,知晓他在重新学习Java,并且学到了泛型这个地方,所以今天来总结一下泛型这个地方。

正篇

首先让我们看看它的定义,知晓何为泛型:

定义类时并不固定数据类型,等到创建对象或调用方法时再明确数据类型。

而且它有着以下性质:编译过程中,由编译器检查类型安全,自动隐性地对类的数据类型进行强制转换(Object -> 指定数据类型)。编译后生成的字节码文件(.class) 将不再含有泛型。

那么我们如何在代码中使用泛型呢?

如下代码:

// 定义时使用泛型
public class Person<T> {
    private T t;
    public void set(T t) {
        this.t = t;
    }
    public T get() {
        return t;
    }
} 
// 调用时指定类型
class Test{
    static void main(String[] args){
        Person<Integer> teacher = new Person<>();
        teacher.set(0);
        System.out.print(teacher.get());
    }
}

而代码中< T>的字母

通常可使用 A-Z 之间的任何一个字母,而我们常用的如下所示:

  • T (type): 表示具体的一个 java 数据类型
  • K V (key value): 分别代表 java 键值中的 Key Value,在键值对中如Map中常用
  • E (element): 代表 java 集合框架元素
  • ?:表示不确定的 java 类 由上例,我通俗的称泛型为我们需要适应不同环境的数据类型(泛用)。

总结

总结完泛型后我们回到开篇时说的,我和他聊了很多近况,发现研究生的确很好,还有大量的时间去整理知识,不过就是实践的机会较少,但可能是单例的原因,可我还是觉得也许还是工作中成长的更快,尽管我很羡慕能继续深造的他们。

之前总结的东西都过于疏浅,所以后面的更新应该会深入知识点,结合源码去分析,不能再这么草草结束文章。

相关文章
|
2天前
|
安全 算法 Java
深入理解泛型
深入理解泛型
|
2天前
|
安全 编译器 Scala
何时需要指定泛型:Scala编程指南
本文是Scala编程指南,介绍了何时需要指定泛型类型参数。泛型提供代码重用和类型安全性,但在编译器无法推断类型、需要提高代码清晰度、调用泛型方法或创建泛型集合时,应明确指定类型参数。通过示例展示了泛型在避免类型错误和增强编译时检查方面的作用,强调了理解泛型使用时机对编写高效Scala代码的重要性。
17 1
何时需要指定泛型:Scala编程指南
|
2天前
|
Java 编译器 语音技术
泛型的理解
泛型的理解
10 0
|
2天前
|
存储 算法 容器
什么是泛型?
什么是泛型?
10 0
|
2天前
|
存储 安全 Java
这还是你认识的泛型吗???!
这还是你认识的泛型吗???!
35 0
|
2天前
|
存储 Java
什么是泛型, 泛型的具体使用?
什么是泛型, 泛型的具体使用?
|
8月前
|
Java 编译器
|
10月前
|
编译器 C#
C# 泛型
C# 泛型
40 0
|
11月前
|
存储 C#
【C#】什么是泛型?
泛型是C#编程中一个非常重要的概念,它能够编写更加通用、灵活和可重用的代码,能够编写可以在不同类型之间工作的代码,同时还可以提高代码的效率和可维护性。在本文中,我们将探讨泛型及其在C#编程中的应用。
67 0
|
12月前
|
存储 Java 编译器
对泛型的认识
对泛型的认识