加入收藏 | 设为首页 | 会员中心 | 我要投稿 平顶山站长网 (https://www.0375zz.cn/)- 分布式云、数据处理、媒体处理、图像分析、基础存储!
当前位置: 首页 > 站长资讯 > 动态 > 正文

Python之父大喊Yes!吴恩达:松了口气

发布时间:2021-02-05 11:40:20 所属栏目:动态 来源:互联网
导读:Oracle建议使用大写字母表示泛型类型,并选择更具描述性的字母来表示形式类型,例如在Java集合中,T 用于类型,K 表示键,V 表示值。 3.1.泛型边界 如前所述,类型参数可以是有界的。有界意味着限制,我们可以限制方法可以接受的类型。 例如,可以指定一个方

Oracle建议使用大写字母表示泛型类型,并选择更具描述性的字母来表示形式类型,例如在Java集合中,T 用于类型,K 表示键,V 表示值。

3.1.泛型边界

如前所述,类型参数可以是有界的。有界意味着“限制”,我们可以限制方法可以接受的类型。

例如,可以指定一个方法接受一个类型及其所有子类(上限)或一个类型所有它的超类(下限)。

要声明上界类型,我们在类型后面使用关键字extends,后跟要使用的上限。例如:
 

通过添加包含类型的菱形运算符<>,我们将此列表的特化范围缩小到 Integer 类型,即指定将保存在列表中的类型。编译器可以在编译时强制执行该类型。

在较小的程序中,这看起来像是一个微不足道的添加。但是在较大的程序中,这可以增加显著的健壮性并使程序更易于阅读。

3. 泛型方法

泛型方法是用单个方法声明编写的方法,可以用不同类型的参数调用。编译器将确保所用类型的正确性。以下是泛型方法的一些属性:

  • 泛型方法在方法声明的返回类型之前有一个类型参数(包裹类型的菱形运算符)
  • 类型参数可以有界(边界将在本文后面解释)
  • 泛型方法可以具有不同的类型参数,这些参数在方法签名中用逗号分隔
  • 泛型方法的方法体与普通方法一样

定义将数组转换为列表的泛型方法的示例:
 

没有任何约定可以保证列表的返回类型是整数。定义的列表可以包含任何对象。我们只知道我们是通过检查上下文来检索列表的。在查看类型时,它只能保证它是一个Object,因此需要显式转换来确保类型是安全的。

这种转换可能会令人感到聒噪,我们明明知道这个列表中的数据类型是整数。转换的话,也把我们的代码搞得乱七八糟。如果程序员在显式转换中出错,则可能会导致抛出与 类型相关的运行时错误 。

如果程序员能够表达他们使用特定类型的意图,并且编译器能够确保这种类型的正确性,那么这将更加容易。

这就是泛型背后的核心思想。

我们将前面代码段的第一行修改为:
 

aster节点包括API Server、Scheduler、Controller manager、etcd。

API Server是整个系统的对外接口,供客户端和其它组件调用,相当于“营业厅”。

Scheduler负责对集群内部的资源进行调度,相当于“调度室”。

Controller manager负责管理控制器,相当于“大总管”。

然后是Node节点。

(编辑:平顶山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读