美文网首页Salesforce
Salesforce基础 - Apex数据类型

Salesforce基础 - Apex数据类型

作者: Salesforce开发者 | 来源:发表于2022-01-07 11:22 被阅读0次

数据类型

在 Apex 中,所有变量和表达式都有一个数据类型,例如 sObject、primitive 或 enum。

  • 原始数据类型(primitive):Integer, Double, Long, Date, Datetime, String, ID, Boolean
  • sObject数据类型:比如标准对象 Account, Contact等 或者自定义对象 MyCustomObject__c
  • 集合(collection):Lists、Sets、Maps
  • 类型化的值列表,也称为枚举(enum )
  • 用户自定义的 Apex 类创建的对象
  • 系统本身提供的 Apex 类创建的对象
  • 空(null,可以分配给任何变量)

原始数据类型

所有 Apex 变量,无论是类成员变量还是方法变量,都被初始化为 null。请确保在使用变量之前将其初始化为适当的值。例如,将布尔变量初始化为 false。
原始数据类型包括以下12种:

  1. Blob
    Blob是作为对象存储的二进制数据的集合。当我们需要将blob转换为字符串时,可以使用toString和valueOf方法在需要时将其转换为字符串。当我们要将Salesforce中的附件存储到变量中时,也可以使用此选项。

  2. Boolean
    此变量只能赋值true,false或null。例如:

Boolean ilikeyou = true;
System.debug(LoggingLevel.INFO, '*** ilikeyou: ' + ilikeyou);
  1. Date
    指示特定日期的值。与日期时间值不同,日期值不包含有关时间的信息。
Date today = Date.today();
System.debug(LoggingLevel.INFO, '*** today: ' + today);
  1. Datetime
    指示特定日期和时间的值,例如时间戳。
Datetime now = Datetime.now();
System.debug(LoggingLevel.INFO, '*** now: ' + now);
  1. Decimal
    包含小数点的数字。货币字段自动分配为Decimal类型。
    如果没有明确设置 Decimal 的小数位数,则创建 Decimal 的项将确定 Decimal 的小数位数
Decimal price = 899.99;
System.debug(LoggingLevel.INFO, '*** price: ' + price);
  1. Double
    包含小数点的 64-bit 数字。Double的最小值为 - 2 63,最大值为 2 63 -1。不支持科学记数法 (e)
Double d =3.14159;
System.debug(LoggingLevel.INFO, '*** d: ' + d);
  1. ID
    任何有效的 18 个字符的 Lightning 平台记录标识符。如果你设置 ID为 15 个字符的值,Apex 会自动将该值转换为其 18 个字符的表示形式。全部无效ID 值在运行时异常会报错。
ID a = '00300000003T2PGAA0';
System.debug(LoggingLevel.INFO, '*** a: ' + a);
  1. Integer
    不包含小数点的 32-bit 数字。Integer的最小值为-2,147,483,648,最大值为2,147,483,647。
Integer dogs = 5;
System.debug(LoggingLevel.INFO, '*** dogs: ' + dogs);
  1. Long
    不包含小数点的 64-bit 数字。Long的最小值为 -2 63,最大值为 2 63 -1。当您需要比 Integer 提供范围更宽的值时,请使用此数据类型。
Long l = 2147483648L;
System.debug(LoggingLevel.INFO, '*** l: ' + l);
  1. Object
    任何数据类型都是Object。所有 Apex 数据类型都继承自 Object,例如:原始数据类型(Integer)、用户定义的自定义类、sObject 通用类型或 sObject 特定类型(例如 Account)
    你可以将一个对象强制转化为基础数据类型,例如:
Object obj = 666;
// Cast the object to an integer.
Integer i = (Integer)obj;
System.debug(LoggingLevel.INFO, '*** i: ' + i);

下一个示例显示如何将对象强制转换为用户定义的类型 — 名为 MyApexClass 的自定义 Apex 类,这是在您的组织中预定义的。

Object obj = new MyApexClass();
// Cast the object to the MyApexClass custom type.
MyApexClass mc = (MyApexClass)obj;
// Access a method on the user-defined class.
mc.someClassMethod();
  1. String
    由单引号括起来的任何字符集。
String str = 'I like dogs';
System.debug(LoggingLevel.INFO, '*** str: ' + str);
  • 字符串大小:字符串对于字符数量没有限制。堆大小限制用于确保您的 Apex 程序不会变得太大。
  • 空字符串和尾随空格:Apex 中的字符串可以是 null 或为空,可以包括前导和尾随空格。相反,sObject 字符串字段值遵循与 SOAP API 中相同的规则:它们永远不能为空(仅允许null),并且它们永远不能包含前导和尾随空格。
  • 转义序列:Apex 中的所有字符串都使用与 SOQL 字符串相同的转义序列:\b (退格), \t (tab), \n (换行), \F (换页), \r (回车), \ " (双引号), \ ' (单引号),和 \ \ (反斜杠)。
  • 比较运算符:支持使用比较运算符==, !=, <, <=, >和 >= 由于 Apex 使用 SOQL 比较语义,字符串的结果根据上下文用户的区域设置进行整理,并且不区分大小写
  1. Time
    指示特定时间的值。
Time myTime = Time.newInstance(1, 2, 3, 0);
System.debug(LoggingLevel.INFO, '*** myTime: ' + myTime);

本篇参考:https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/langCon_apex_data_types.htm
本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接

相关文章

  • Salesforce基础 - Apex数据类型

    数据类型 在 Apex 中,所有变量和表达式都有一个数据类型,例如 sObject、primitive 或 enu...

  • Salesforce基础 - 认识Apex

    什么是Apex? Apex是一种强类型的面向对象程序设计语言,它允许开发者在 Salesforce 服务器上执行流...

  • Salesforce基础 - Apex变量

    变量 变量使用 java 风格的语法声明。例如: 和 Java 一样,多个变量可以在一个语句中声明和初始化,使用逗...

  • Salesforce基础 - Apex常量

    常量 常量是指在程序的整个运行过程中值保持不变的量。常量使用 final 关键字来定义。使用 final 关键字意...

  • Salesforce基础 - Apex枚举

    枚举 枚举是一种抽象数据类型,每个值都采用您指定的一组有限标识符中的一个。枚举通常用于定义一组没有数字顺序的可能值...

  • 一款Salesforce测试工具: Apex Test Kit

    这里给大家介绍一款Salesforce测试数据生成工具Apex Test Kit。 每个Salesforce开发者...

  • Apex 企业设计模式

    FFLIB 是一个免费的框架,对 Apex 进行了扩展。它的结构实现了 Salesforce 推荐的Apex 企业...

  • Salesforce基础 - Apex字符串

    1. public String abbreviate(Integer maxWidth)如果当前 String ...

  • 从网络服务生成Apex类

    使用WSDL2Apex从网络服务生成Apex类 如果某个网络服务被定义在WSDL文件中,而Salesforce必须...

  • Apex简介

    Apex特点 Salesforce为开发者提供了Apex语言。它是一种语法上类似于Java的编程语言,有以下特点:...

网友评论

    本文标题:Salesforce基础 - Apex数据类型

    本文链接:https://www.haomeiwen.com/subject/vawhcrtx.html