java泛型的用法,java泛型的定义和使用

  java泛型的用法,java泛型的定义和使用

  如何解决写爬虫IP受阻的问题?立即使用。

  

概念

  来源:Java直到在JDK 1.5版中引入才开始普及。Java是通过擦除实现的。你知道什么是擦除吗?往下看。

  概念:一般的类和方法只能使用特定的类型;基本类或自定义类。如果要编写可以应用于多种类型代码的代码,这种严格的限制会给代码带来很大的约束。泛型实现了参数化类型的概念,这使得代码可以应用于多种类型。当泛型出现在编程语言中时,其最初的目的是希望类和方法具有广泛的表达能力。

  

简单的泛型

  泛型有很多原因,其中最重要的是容器类的创建。我们暂时不指定类型,以后决定用什么类型。为了实现这个目标,您需要在类名后面使用类型参数,并用尖括号将其括起来。然后,当使用这个类时,这个类型的参数将被替换为实际类型。在下面的示例中,t是类型参数。代码如下:

  但是,在很多源代码中,有些泛型类有多个泛型参数,比如Java。UTIL函数。双函数,有三类参数T,U,r。

  

泛型方法

  泛型方法使方法独立于类。编写通用代码时,基本的指导原则是尽可能使用通用方法。这意味着,如果你可以对整个类使用泛型方法而不是泛型方法,那么你就可以使用泛型方法,因为它们可以使事情变得更清楚。此外,对于静态方法,不能访问泛型类的类型参数,因此如果静态方法需要使用泛化,则必须将其设为泛型。

  

泛型的擦除

  当我读到Java编程思想总论一章中的“删除的奥秘”一节时,我特别晕,然后往下看,越看越糊涂。尤其是当你看到边界和通配符的时候,有点混乱。首先,看看什么是擦除。在泛型代码中,关于泛型参数类型的信息不可用。Java是通过擦除实现的,也就是说在使用泛型的时候,任何特定的类型都会被擦除,你唯一知道的就是使用对象。因为Java最初没有引入泛型,所以它被设计成与旧版本的JDK兼容。ErAcess是常见Java实现之间的折衷。因此,在运行时,liststring与listinteger相同。注意,它是运行的,但在编译时,liststring表示这种字符串类型的列表容器,listinteger表示当前整数类型的列表容器。比如来自Java编程思想的例子。

  

泛型的边界

   Java中的泛型。编译时,T表示一种类型。如果没有指定边界,它等于一个对象。我们可以使用extends关键字来指定泛型的边界。为了能够调用f(),我们可以帮助泛型类给定它的边界,告诉编译器它必须接受边界后面的类型。这里使用了扩展关键字。将上面的代码改为

  

总结

   Java泛型的特性在很多开源框架中被广泛使用。这一点需要深刻理解。我想以后随着敲码的年数理解就不一样了。现在能通过书本了解和理解的就这么多了。

  本文来自java入门专栏,欢迎学习!以上是Java泛型的详细讲解(知识点总结)。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: