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

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(),例如:


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

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


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

3.Decimal类型: 

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


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

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


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

c. intValue() 取整。例如 :


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

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


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

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

5. String 类型: 

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

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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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

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

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

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


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

 
       

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


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

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


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

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


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

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


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

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

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


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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值