salesforce之apex开发1---基本类型与常用方法

下面是笔者自己做salesforce开发整理的知识点,如果有不详细的,可以参照https://developer.salesforce.com,查看salesforce开发文档。


基本类型:

1.Integer : salesforce中的整型都是 signed int (有符号的整型),即范围在2^31-1 ~ -2^31(2147483647 ~ -2147483648)。

2.Long : 跟其他语言中的long类型一样的,范围:2^63-1 ~ -2^63

3.Decimal : 带有小数的数。文档上提了一句在salesforce中sObject上有个Currency(货币)类型,会自动转成decimal类型。

4.Double : 注意一点,科学记数法e在double中不可用

5.Boolean : 布尔类型

6.String : 字符串类型,salesforce中字符串类型跟java中有所不同,它直接提供了比较操作,因此你可以直接通过==,!=,<,<=,>和>=进行比较操作。例如:'ab'>'ac' //false

7.Date:日期类型,只包含年月日。

8.DateTime: 日期时间类型,不仅包含年月日,还有时分秒。

9.Time:时间类型

10.Blob:二进制存储类型,一般用于接收上传的附件文档之类,注意我们在项目中一般把该字段定义为瞬时变量,即用transient去申明,这样就不会作为一个Visualforce则页面视图状态的一部分发送实例变量。(由于页面视图有大小限制)

11.ID:该类型是Salesforce独有的类型,用于表示salesforce的sObject的18位id标识。当你用ID类型申明,并设置了一个15位的id,apex会自动给你转化为18位。


常用方法:

1.字符串转换为Integer类型的方法,valueOf(),例如:

Integer.valueOf('12'); //12; 
Integer.valueOf('12a'); //throw TypeException

2.Long类型转换为int型方法,intValue(), 例如:

Long curLong = 71; 
Integer myInt = curLong.intValue(); //71

3.Decimal类型: 

a. valueOf(),转换为Decimal类型。例如:

Decimal.valueOf('12.3'); //12.3 ;   
Decimal.valueOf(12.3);  //12.3

b. abs(),绝对值。例如:

Decimal.valueOf('12.3'); //12.3 ;   
Decimal.valueOf(12.3);  //12.3

c. intValue() 取整。例如 :

Decimal d = 2.6; 
d.intValue(); //2

d. round() 四舍五入。 例如:

Decimal d = 2.6; 
Long myLong = d.round(); //3

4. Boolean 类型: valueOf(),转换为布尔型的方法。例如:Boolean.valueOf('false'); //false

5. String 类型: 

a. valueOf(),转换为String类型的方法。例如:

String.valueOf(12); // '12';

b. contains(),查看字符串是否包含某个指定字符串的方法。例如:

String str1 = 'abc'; 
String str2 = 'a'; 
str1.contains(str2); //true

c. startsWith(),字符串是否是以某个给定的字符串开头。例如:

String str1 = 'abc'; 
String str2 = 'a'; 
str1.startsWith(str2); //true

d. endsWith(),字符串是否是以某个给定的字符串结尾。 例如:

String str1 = 'abc'; 
String str2 = 'bc'; 
str1.endsWith(str2); //true

e. toUpperCase(),转为大写。例如:

String str = 'Ab1'; 
str.toUpperCase(); //AB1

f. toLowerCase(),转为小写。例如:

String str = 'Ab1'; 
str.toUpperCase(); //AB1

g. length(),字符串长度。例如: 

String str = 'Ab1'; 
str.length(); //3

h. replace(),替换字符串匹配内容。例如:

String str = 'abcabc'; 
str.replace('bc','*'); // a*a*

i. split(),把字符串根据指定字符串拆分成List集合。例如:

String str='a:b:c'; 
List strList =  str.split(':');//(a,b,c)

j. trim(),把字符串前后的空格去掉。例如: 

String str = ' ab'; 
str = str.trim(); // 'ab'

k. indexOf(),获取字符串与给定字符串第一次匹配的下标,没有匹配则为-1。例如:

String str = 'abcd'; 
Integer num = str.indexOf('ab'); //0

l. lastIndexOf(),获取字符串与给定字符串最后一次匹配的下标,没有则为-1。例如:

String str = 'abcd'; 
Integer num = str.lastIndexOf('cd'); // 2

m. substring(),截取字符串中给定下标之间的字符串。例如:

String str = 'abcd'; 
str.substring(1,3); //bc

6.Date类型:(Date和DateTime的方法有很多,我这边就介绍几个常用的方法,还有在文档中都有介绍)

a. newInstance(),创建Date。例如:

Date d = Date.newInstance(2016,9,12); //2016-9-12

b. day(),获取日期中的日。例如:

Date d = Date.newInstance(2016,9,12); 
d.day(); //12

 
     

c. month(),获取日期中的月份。例如:

Date d = Date.newInstance(2016,9,12); 
d.month(); //9

d. year(),获取日期中的年份。 例如:

Date d = Date.newInstance(2016,9,12); 
d.year(); //2016

e. daysBetween(),获取两个日期之间相差的天数。例如:

Date startDay = Date.newInstance(2016,9,12); 
Date endDay =Date.newInstance(2016,10,2); 
startDay.daysBetween(endDay); //20

f. addDays(),添加天数。例如:

Date d = Date.newInstance(2016,9,12); 
d.addDay(3); //2016-9-15

7.DateTime: (DateTime跟Date的方法差不多,这下面是DateTime独有的)

a. getTime(),获得的是从1970-01-01 00:00:00到计算时间的经过的毫秒数。例如:

DateTime d = Date.newInstance(2016,9,12,8,0,0); 
d.getTime(); //1473681600000

你可能感兴趣的:(salesforce)