salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page.
其中Apex语言和java很多的语法类似,今天总结的是一些简单的Apex的变量等知识。
有如下几种常用的基本变量Integer,String,Decimal,Double,Long,Boolean,ID。
集合常用的对象:List<T>,Set<T>,Map<T>。
时间日期常用对象:Datetime,Time,Date。
其他:Object,sObject(与数据库相关,以后篇会讲)
与JAVA一个最大的区别是:Apex中基本对象的初始值均为null。
eg:
在java中此种写法是可以的,因为int类型初始值为0,i+=1以后则i变成1.但是在Apex中因为i初始值为null。 所以i+=1在运行时会抛出NullPointerException 当然,比较有意思的事情是这样,直接上代码:
讯享网
此种方法输出的结果则为null1。起始这也不奇怪,因为Apex也是基于java拓展的,如果看java编程思想了解底层的null的toString()方法处理也就知道了,当执行Print操作时,一个变量为null时,他的toString方法则返回'null'字符串。当然,这个只是一个拓展,不多展开,如果感兴趣,可以查看一下java的api或者看一下java编程思想一书。
一)基本变量:
1)Integer
Integer表示一个32位整数的对象,取值范围为-2^31 -- 2^31.
Integer主要有两个方法:
2)Long
Long类型表示一个64位整数的对象,取值范围为-2^63--2^63-1.
Integer类型可以直接转换成Long类型,Long类型在不超过范围情况下可以通过intValue()方法转成Integer类型。
以下为Long类型部分主要方法:
讯享网
3)ID
ID类型可以用任何一个符合规则的18位字符表示,如果你设置ID字符为15位,则将字符自动扩展成18位。不符合规则的ID字符在运行时则运行时异常。
以下为ID的主要方法:
4)Decimal
简单的来说,Decimal变量的意思为包含小数点的32位数就是Decimal,很像java中的float类型变量。
以下为Decimal的部分主要方法用来了解Decimal的功能:
5)Double
Double变量为包含小数点的64位数,很像 java中的Double类型变量。
Decimal类型变量可以直接转换成Double类型变量,Double类型在不超过范围情况下可以通过
以下为Double的部分主要方法:
6)String

String类型和Java中的String类型很类似,在这里不做过多解释,代码中主要需要看一下String类型对象和上述变量如何相互转换,这在项目中是经常用到的,也是必须需要知道的。以下为String类型主要方法:
7)Boolean
Boolean类型声明一个布尔类型,和java区别为:Boolean类型变量有三个取值:true,false,null(default),所以使用Boolean类型声明的时候必须赋予初始值,否则初始值为null
二)时间日期类型
1)Datetime
Datetime类型声明一个日期时间的对象,包含两部分:日期,时间。因为salesforce一般制作global项目,所以日期时间一般取格林时间。Datetime无构造函数,如果实例化只能通过其静态方法初始化。以下为Datetime的部分主要方法:
2)Date
Date类型声明一个日期的对象,Date可以和Datetime相互转换,主要需要掌握二者关系以及相互转换。
以下为Date部分主要方法:
3)Time
Time类型声明一个时间的对象,对于时间需要考虑的是:因为中国时间和格林时间相差8小时,所以具体项目时如果是global项目需要考虑使用格林时间,即GMT时间。
三)集合类型
集合类型主要有三种,List,Set以及Map。其中三种均为泛型方式,所以声明变量时,直接带上泛型。
1)List<T>
List代表一类的有序数据列表。数据序号从0开始。与JAVA不同的是:List是一个类,并且不存在ArrayList等子类。即实例化
eg:List<String> list1 = new List<String>();
List可以通过自身构造函数实例化,也可以通过数组进行实例化。
以下为List主要方法:
注:set()方法在设置插入位置以前应确保长度大于需要插入的位置,否则将抛出异常。
2)Set<T>
Set代表一类数据的无序列表。与JAVA不同的是:Set是一个类,不存在HashSet等子类。即实例化
eg:Set<String> set1 = new Set<String>();
Set主要方法如下:
3)Map<K,V>
Map代表着键值对,与JAVA用法类似,区别为Map是一个类,不是接口,不存在HashMap<K,V>等子类
Map主要方法如下:
四)运算及控制语句
运算与控制语句和JAVA基本类似,所以在这里只是简单介绍一下增强for循环
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/5446.html