课程章节介绍
同学们,咱们今天来看Apex语言里一个非常核心的特性,就是它的类型系统。
首先,Apex是一种静态类型的语言。什么意思呢?就是说,你在用任何一个变量之前,必须明确告诉系统这个变量是什么数据类型。比如你写个 `String name = '张三';` 或者 `Integer count = 10;` ,如果不声明类型,代码就会报错。这和那些动态语言不一样,它更严格,但也更安全,能帮你在写代码的时候就抓到很多类型错误。
接下来,咱们说说集合。列表、映射和集合这三兄弟,在Apex里都是“参数化”的。你可以把它们想象成一个容器,容器里装什么东西,你得提前定好。比如,List后面必须跟一个尖括号,里面写上具体的数据类型,像 `List` 表示这个列表里只能放字符串,`List` 放整数。你必须用真实的数据类型去替换那个占位符,构造的时候就得写清楚。
那现在有一个比较特别的地方。在Apex里,如果类型T是U的子类型,那么 `List` 就会自动成为 `List` 的子类型。举个例子:假设咱们有一个父类叫“动物”,还有一个子类叫“狗”,狗是动物的子类型。这时候,`List<狗>` 就可以被当作 `List<动物>` 来用。换句话说,你把一篮子狗,当作一篮子动物来处理,这在Apex里是合法、允许的。这个特性叫“协变”,它让代码更灵活,你可以写出更通用的方法来处理各种子类型的列表。
简单总结一下:Apex是静态类型,集合必须指定装什么类型,而且因为子类型的关系,装子类的列表可以直接赋值给装父类的列表变量。这几个点你掌握清楚了,以后写Apex代码的时候,类型转换就不会迷路了。
好,这节课的小知识点就讲到这里,咱们下回继续。
关键词
Apex
Salesforce
Developer Guide