当前位置: 首页 > 网络应用技术

“返回炉子” -

时间:2023-03-07 19:17:54 网络应用技术

  当我以前了解“通用”时,我只是知道它可能会限制类型,并且不了解它。可以说,基础尚不清楚,但它漂浮在表面上。粉底层!

  通用,通用的含义是“通用,通用”。

  这是JDK 5中引入的一项新功能。它在编译过程中提供了类型的安全检测,使我们能够在编译过程中检测非法数据类型,这本质上是参数化的类型。

  它还涉及一个单词“参数化类型”。这是什么意思?

  这意味着:类型的参数化(只能提出深刻而深刻的中国文化),也就是说,我们可以将类型用作参数,换句话说,所操作的数据类型被指定为参数。

  当涉及到参数时,当您看到方法和调用方法中的参数时,我们也熟悉实际参数,这些是参数。

  类似地,类型,即Java中的基本参考类型当然包括您定义的类型,直言不讳,类可以用作参数,也就是说,上述类型是参数(嗯,好,嗯,Okeit似乎说了很多胡说八道)。这涉及另一个单词,即“类型参数”。

  我们可以查看ArrayList的源代码,如下所示:

  其中,这里可以说是一种“人参类型”。

  当我们编写时,为ArrayList的集合指定了特定类型。传递到该参数的实际参数是它是“类型真实人参”。

  简而言之:

  它称为一种类型的人参;一个称为固体类型。这两个是上面提到的“类型参数”。

  通用和集合之间存在不可忽视的关系。我们现在正在使用一个集合,还使用“通用集合”。

  当然,当我们一开始学习时,我们没有使用仿制药,即非生成收集。

  对于以前没有仿制药,让我们看看会发生什么。默认arraylist集合中存储的元素类型是如此好,Java中的任何类型的终极父类是对象,并且可以在此存储哪种类型的数据收藏。

  例如,我可以这样操作(经典案例):

  存储数据后,将来必须使用它。我们需要将其从收藏中取出。需要明确定义拆卸的进一步操作,因此需要将其转换为强制性类型。

  目前,代码不会报告错误,也没有问题。在我们跑步之前,会有异常。

  这也是不可避免的。毕竟,我们的集合中还有其他类型的数据。无论强制性类型转换如何转换为字符串类型,都会存在异常。

  看到这一点,据估计,有些朋友想问,我可以一个一个一个强制性的转换吗?我知道存储了哪些数据,然后直接获取相应的数据以进行强旋转。是的,是的,您可以一一旋转强烈。如果是少数数字,但是如果您有很多人?您会做什么?

  因此,仿制药出现,它可以限制编译期的类型,以确保类型是安全的,也就是说,在操作过程中不会有异常。

  看到这里的小伙伴,可能会有这样的疑问:那么为什么不直接使用字符串阵列呢?这个问题很好。

  数组确实可以存储相同的数据类型的数据,但是对于无限的存储元素,该数组具有缺点,并且数组长度已固定。总的来说,数组都是不便的,因此有一个集合的集合,因为在这种问题中,该集合有一个通用集合。

  这里使用仿制药,因此,当我们在编译期内,将检查添加元素,并且在获得集合元素时,无需转换强制性类型的类型。只需要用指定类型直接接收它。

  定义语法:

  传递织物:T,E,K,V,这是上面提到的人参的类型。(这里的某些人也称为通用标志)

  使用语法:

  抬起栗子:

  测试

  笔记:

  定义语法:

  使用语法:

  以前,在类和接口上定义了通用类型,但有时我们不需要整个类来定义类型。其中只有一种方法是定义通用类型。该方法中的定义,因此,当调用通用方法时,指定了特定的类型参数。

  定义语法:

  抬起栗子:

  在这里应该指出的是,通用和通用物质中仿制药的一般方法是不同的。

  此外,如果您在通用类中定义了通用方法,那么通用方法中的人参类型和通用类中的类型是不同的,并且彼此独立。加上,通用方法可以定义为静态,并且这还没有结束。通用方法也可以与可变参数结合使用。

  抬起栗子:

  以前的所有表现也是所有匹配。但是,这些交配符号属于类型类型的类型。那么实心参数的类型呢?这在这里!键入真实的传递教师:正确,您读到正确,这是一个问号。

  实心参数的类型用于表示特定类型的实体参数并表示任何类型。

  例如:

  以上游戏指定的类型是字符串。然后我们操作以下操作:

  所以

  类型传递符号的上限和下限也称为上和下限,也称为有限匹配的名称,相同。

  上限语法:

  可以这样理解这里的扩展。在使用时,我们经过的实体类型需要小于或等于A类,即需要是段落上限的子类或本身。您只能成为最大罐头A。

  下限语法:

  超级可以理解这一点。使用时,我们需要引入的实体类型需要大于A类,即需要成为本身的父级或本身,这限制了表单的下限。

  例如,有三个类:a,b和c,a是b的父类,b是C的父类。

  调用此方法

  应该注意的是,您具有兼容的上限。在集合中,它只能用于读取数据,并且不能用于存储数据。我怎么能理解?

  那么下限呢?放心,下限中没有这样的问题,可以存储数据。

  通用类型的局限性仅在汇编期间存在。一旦运行,它就会消失,也就是说,将删除类型。

  有两种情况:

  无限:

  有限的:

  通用方法的类型擦除也是相同的。另一个知识点是,在通用接口的类型中,将出现“桥接方法”,主要是为了维持接口和类之间的关系。

  以上是通用类型的基本内容。

  开始查看八个链文本!交叉剖面

  仿制药是JDK5中引入的一项新功能,它提供了汇编过程中类型安全检测的机制。此机制可以在编译过程中检测非法数据类型。本质是一种参数化类型,即,可以将操作的数据类型指定为一种参数。特定参数类型。

  常用的分配器包括t(类型),k(key),v(value),e(element),?(未知类型)

  Java的通用类型是伪生的,因为在Java的运行过程中,这些通用信息将被删除,这是So -call type型擦除(通用擦除)。

  顾名思义,有限的频道仅限于类型。Java中有两种有限形式。

  一个是,必须通过确保类型必须是t的子类,即,类型必须为t类型或t子类,必须限于上限

  另一个是通过确保类型必须是t的父类,也就是说,类型必须为t type type type或t的父级,它仅限于下一个会话

  表达非限制表格,因为 < ? > 可以用任何类型代替。

  受我的水平限制,存在不可避免的错误和缺点。如果您找到了,请指出!

  最后,感谢您看到这一点,感谢您为认真对待我的努力。希望这个博客能为您提供帮助!

  您轻轻地喜欢它,它会在我心中为世界增添一颗明亮而令人眼花azz乱的星星!

  原始:https://juejin.cn/post/7100916739302653965