首页 > 其他 > 详细

【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句

时间:2019-05-23 15:15:36      阅读:310      评论:0      收藏:0      [点我收藏+]
 

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:

1
2
3
Integer i;
i += 1;
System.debug(i);
1
 

在java中此种写法是可以的,因为int类型初始值为0,i+=1以后则i变成1.但是在Apex中因为i初始值为null。
所以i+=1在运行时会抛出NullPointerException
当然,比较有意思的事情是这样,直接上代码:

1
2
Integer i;
System.debug(i+‘1‘);

此种方法输出的结果则为null1。起始这也不奇怪,因为Apex也是基于java拓展的,如果看java编程思想了解底层的null的toString()方法处理也就知道了,当执行Print操作时,一个变量为null时,他的toString方法则返回‘null‘字符串。当然,这个只是一个拓展,不多展开,如果感兴趣,可以查看一下java的api或者看一下java编程思想一书。

一)基本变量:

1)Integer

Integer表示一个32位整数的对象,取值范围为-2^31 -- 2^31.

Integer主要有两个方法:

1
2
3
4
5
6
7
8
9
10
11
/*
    public String format()
    //译:将Integer值转换成String类型的值
 */
Integer goodsCount = 12;
System.debug(‘将Integer值转成String: ‘ + goodsCount.format());
/*
   public static Integer valueOf(String stringToObject)
   //译:将String类型转成Integer类型
*/
Integer goodsCountI = Integer.valueOf(‘12‘);

2)Long

Long类型表示一个64位整数的对象,取值范围为-2^63--2^63-1.

Integer类型可以直接转换成Long类型,Long类型在不超过范围情况下可以通过intValue()方法转成Integer类型。

以下为Long类型部分主要方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Integer transferSource = 12345;<br>Long code = transferSource;//Integer类型可以直接转成Long类型
/*
   public String format()
   //译:将Long类型转换成String类型
*/
System.debug(‘Long类型转成String类型:‘ + code.format());
/*
   public Integer intValue()
   //译:将Long类型转成Integer类型
*/
   System.debug(‘将Long类型转成Integer类型:‘ + code.intValue());          
/*
   public static Long valueOf(String stringToLong)
   //译:将String类型转成Long类型
*/
Long codeLong = Long.valueOf(‘123‘);

3)ID

ID类型可以用任何一个符合规则的18位字符表示,如果你设置ID字符为15位,则将字符自动扩展成18位。不符合规则的ID字符在运行时则运行时异常。

以下为ID的主要方法:

1
2
3
4
5
6
7
8
9
10
11
/*
    public static ID valueOf(String toID)
    //译:将toId转换成ID
*/
String idStr = ‘111111111111111111‘;
ID id = ID.valueOf(idStr);
/*
   public Boolean equals(String id)
   //译:判断两个ID是否相同
*/
Boolean isEquals = id.equals(idStr);

4)Decimal

简单的来说,Decimal变量的意思为包含小数点的32位数就是Decimal,很像java中的float类型变量。

以下为Decimal的部分主要方法用来了解Decimal的功能:

技术分享图片 Decimal function

5)Double

Double变量为包含小数点的64位数,很像 java中的Double类型变量。

Decimal类型变量可以直接转换成Double类型变量,Double类型在不超过范围情况下可以通过

以下为Double的部分主要方法:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Double price = 34.5678;
/*
   public static Double valueOf(String stringToDouble)
   //译:将String类型转换成Double
*/
String doubleString = ‘3.89‘;
System.debug(‘将字符串转换成Double‘ + Double.valueOf(doubleString));
         
/*
   public Long round()
   //译:返回double最接近Long的值,四舍五入
*/
Long priceLong = price.round();
System.debug(‘通过round方法将double转换成Long类型值为:‘ + priceLong);
         
/*
   public Integer intValue()
   //译:将double值转换成int类型值
*/
Integer priceInteger = price.intValue();
System.debug(‘将double转换成Integer类型值为:‘ + priceInteger);
Long priceLongByLongValue = price.longValue();
System.debug(‘将double转换成Long类型值为:‘ + priceLongByLongValue);

6)String

String类型和Java中的String类型很类似,在这里不做过多解释,代码中主要需要看一下String类型对象和上述变量如何相互转换,这在项目中是经常用到的,也是必须需要知道的。以下为String类型主要方法:

技术分享图片 String Function

7)Boolean

Boolean类型声明一个布尔类型,和java区别为:Boolean类型变量有三个取值:true,false,null(default),所以使用Boolean类型声明的时候必须赋予初始值,否则初始值为null

 二)时间日期类型

1)Datetime

Datetime类型声明一个日期时间的对象,包含两部分:日期,时间。因为salesforce一般制作global项目,所以日期时间一般取格林时间。Datetime无构造函数,如果实例化只能通过其静态方法初始化。以下为Datetime的部分主要方法:

技术分享图片 Datetime function

2)Date

Date类型声明一个日期的对象,Date可以和Datetime相互转换,主要需要掌握二者关系以及相互转换。

以下为Date部分主要方法:

技术分享图片 Date function

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()方法在设置插入位置以前应确保长度大于需要插入的位置,否则将抛出异常。

技术分享图片 List Function

2)Set<T>

Set代表一类数据的无序列表。与JAVA不同的是:Set是一个类,不存在HashSet等子类。即实例化

eg:Set<String> set1 = new Set<String>();

Set主要方法如下:

技术分享图片 Set Function

3)Map<K,V>

Map代表着键值对,与JAVA用法类似,区别为Map是一个类,不是接口,不存在HashMap<K,V>等子类

Map主要方法如下:

技术分享图片 Map Function

四)运算及控制语句

运算与控制语句和JAVA基本类似,所以在这里只是简单介绍一下增强for循环

1
2
3
4
5
6
7
List<String> goodsList = new String[] {‘衣服‘,‘裤子‘};
 
for(String goods : goodsList) {
 
    System.debug(goods);
 
}

详细了解这些基本类型变量,集合以及相关方法请自己查看API。其实掌握一些主要的方法就可以,其他方法不用掌握大概清楚实现功能就好,具体需要的时候查看API看一下用法就可以。如果有什么问题,欢迎留言,共同探讨。内容如果有写的不正确地方,欢迎指正。下一篇将主要介绍sObject与简单的DML操作。  

【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句

原文:https://www.cnblogs.com/zhuzhubaoya/p/10911857.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!