APEX變量基礎(chǔ)知識(shí)集合表達(dá)式流程控制語(yǔ)句_第1頁(yè)
APEX變量基礎(chǔ)知識(shí)集合表達(dá)式流程控制語(yǔ)句_第2頁(yè)
APEX變量基礎(chǔ)知識(shí)集合表達(dá)式流程控制語(yǔ)句_第3頁(yè)
APEX變量基礎(chǔ)知識(shí)集合表達(dá)式流程控制語(yǔ)句_第4頁(yè)
APEX變量基礎(chǔ)知識(shí)集合表達(dá)式流程控制語(yǔ)句_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

salesforce如果簡(jiǎn)單的說(shuō)可以大概分成兩個(gè)部分:Apex,VisualForcePage.其中Apex語(yǔ)言和java很多的語(yǔ)法類(lèi)似,今天總結(jié)的是一些簡(jiǎn)單的Apex的變量等知識(shí)。有如下幾種常用的基本變量Integer,String,Decimal,Double,Long,Boolean,ID。集合常用的對(duì)象:List<T>,Set<T>,Map<T>。時(shí)間日期常用對(duì)象:Datetime,Time,Date。其他:Object,sObject(與數(shù)據(jù)庫(kù)相關(guān),以后篇會(huì)講)與JAVA一個(gè)最大的區(qū)別是:Apex中基本對(duì)象的初始值均為null。eg:123Integeri;i+=1;System.debug(i);1在java中此種寫(xiě)法是可以的,因?yàn)閕nt類(lèi)型初始值為0,i+=1以后則i變成1.但是在Apex中因?yàn)閕初始值為null。所以i+=1在運(yùn)行時(shí)會(huì)拋出NullPointerException當(dāng)然,比較有意思的事情是這樣,直接上代碼:12Integeri;System.debug(i+'1');此種方法輸出的結(jié)果則為null1。起始這也不奇怪,因?yàn)锳pex也是基于java拓展的,如果看java編程思想了解底層的null的toString()方法處理也就知道了,當(dāng)執(zhí)行Print操作時(shí),一個(gè)變量為null時(shí),他的toString方法則返回'null'字符串。當(dāng)然,這個(gè)只是一個(gè)拓展,不多展開(kāi),如果感興趣,可以查看一下java的api或者看一下java編程思想一書(shū)。一)基本變量:1)IntegerInteger表示一個(gè)32位整數(shù)的對(duì)象,取值范圍為-2^31--2^31.Integer主要有兩個(gè)方法:1234567891011/*

publicStringformat()

//譯:將Integer值轉(zhuǎn)換成String類(lèi)型的值

*/IntegergoodsCount=12;System.debug('將Integer值轉(zhuǎn)成String:'+goodsCount.format());/*

publicstaticIntegervalueOf(StringstringToObject)

//譯:將String類(lèi)型轉(zhuǎn)成Integer類(lèi)型*/IntegergoodsCountI=Integer.valueOf('12');2)LongLong類(lèi)型表示一個(gè)64位整數(shù)的對(duì)象,取值范圍為-2^63--2^63-1.Integer類(lèi)型可以直接轉(zhuǎn)換成Long類(lèi)型,Long類(lèi)型在不超過(guò)范圍情況下可以通過(guò)intValue()方法轉(zhuǎn)成Integer類(lèi)型。以下為L(zhǎng)ong類(lèi)型部分主要方法:12345678910111213141516IntegertransferSource=12345;<br>Longcode=transferSource;//Integer類(lèi)型可以直接轉(zhuǎn)成Long類(lèi)型/*

publicStringformat()

//譯:將Long類(lèi)型轉(zhuǎn)換成String類(lèi)型*/System.debug('Long類(lèi)型轉(zhuǎn)成String類(lèi)型:'+code.format());/*

publicIntegerintValue()

//譯:將Long類(lèi)型轉(zhuǎn)成Integer類(lèi)型*/

System.debug('將Long類(lèi)型轉(zhuǎn)成Integer類(lèi)型:'+Value());

/*

publicstaticLongvalueOf(StringstringToLong)

//譯:將String類(lèi)型轉(zhuǎn)成Long類(lèi)型*/LongcodeLong=Long.valueOf('123');3)IDID類(lèi)型可以用任何一個(gè)符合規(guī)則的18位字符表示,如果你設(shè)置ID字符為15位,則將字符自動(dòng)擴(kuò)展成18位。不符合規(guī)則的ID字符在運(yùn)行時(shí)則運(yùn)行時(shí)異常。以下為ID的主要方法:1234567891011/*

publicstaticIDvalueOf(StringtoID)

//譯:將toId轉(zhuǎn)換成ID*/IDid=ID.valueOf(idStr);/*

publicBooleanequals(Stringid)

//譯:判斷兩個(gè)ID是否相同*/BooleanisEquals=id.equals(idStr);4)Decimal簡(jiǎn)單的來(lái)說(shuō),Decimal變量的意思為包含小數(shù)點(diǎn)的32位數(shù)就是Decimal,很像java中的float類(lèi)型變量。以下為Decimal的部分主要方法用來(lái)了解Decimal的功能:Decimalfunction5)DoubleDouble變量為包含小數(shù)點(diǎn)的64位數(shù),很像java中的Double類(lèi)型變量。Decimal類(lèi)型變量可以直接轉(zhuǎn)換成Double類(lèi)型變量,Double類(lèi)型在不超過(guò)范圍情況下可以通過(guò)以下為Double的部分主要方法:

1234567891011121314151617181920212223Doubleprice=34.5678;/*

publicstaticDoublevalueOf(StringstringToDouble)

//譯:將String類(lèi)型轉(zhuǎn)換成Double*/StringdoubleString='3.89';System.debug('將字符串轉(zhuǎn)換成Double'+Double.valueOf(doubleString));

/*

publicLonground()

//譯:返回double最接近Long的值,四舍五入*/LongpriceLong=price.round();System.debug('通過(guò)round方法將double轉(zhuǎn)換成Long類(lèi)型值為:'+priceLong);

/*

publicIntegerintValue()

//譯:將double值轉(zhuǎn)換成int類(lèi)型值*/IntegerpriceInteger=Value();System.debug('將double轉(zhuǎn)換成Integer類(lèi)型值為:'+priceInteger);LongpriceLongByLongValue=price.longValue();System.debug('將double轉(zhuǎn)換成Long類(lèi)型值為:'+priceLongByLongValue);6)StringString類(lèi)型和Java中的String類(lèi)型很類(lèi)似,在這里不做過(guò)多解釋?zhuān)a中主要需要看一下String類(lèi)型對(duì)象和上述變量如何相互轉(zhuǎn)換,這在項(xiàng)目中是經(jīng)常用到的,也是必須需要知道的。以下為String類(lèi)型主要方法:StringFunction7)BooleanBoolean類(lèi)型聲明一個(gè)布爾類(lèi)型,和java區(qū)別為:Boolean類(lèi)型變量有三個(gè)取值:true,false,null(default),所以使用Boolean類(lèi)型聲明的時(shí)候必須賦予初始值,否則初始值為null

二)時(shí)間日期類(lèi)型1)DatetimeDatetime類(lèi)型聲明一個(gè)日期時(shí)間的對(duì)象,包含兩部分:日期,時(shí)間。因?yàn)閟alesforce一般制作global項(xiàng)目,所以日期時(shí)間一般取格林時(shí)間。Datetime無(wú)構(gòu)造函數(shù),如果實(shí)例化只能通過(guò)其靜態(tài)方法初始化。以下為Datetime的部分主要方法:Datetimefunction2)DateDate類(lèi)型聲明一個(gè)日期的對(duì)象,Date可以和Datetime相互轉(zhuǎn)換,主要需要掌握二者關(guān)系以及相互轉(zhuǎn)換。以下為Date部分主要方法:Datefunction3)TimeTime類(lèi)型聲明一個(gè)時(shí)間的對(duì)象,對(duì)于時(shí)間需要考慮的是:因?yàn)橹袊?guó)時(shí)間和格林時(shí)間相差8小時(shí),所以具體項(xiàng)目時(shí)如果是global項(xiàng)目需要考慮使用格林時(shí)間,即GMT時(shí)間。三)集合類(lèi)型集合類(lèi)型主要有三種,List,Set以及Map。其中三種均為泛型方式,所以聲明變量時(shí),直接帶上泛型。1)List<T>List代表一類(lèi)的有序數(shù)據(jù)列表。數(shù)據(jù)序號(hào)從0開(kāi)始。與JAVA不同的是:List是一個(gè)類(lèi),并且不存在ArrayList等子類(lèi)。即實(shí)例化eg:List<String>list1=newList<String>();List可以通過(guò)自身構(gòu)造函數(shù)實(shí)例化,也可以通過(guò)數(shù)組進(jìn)行實(shí)例化。以下為L(zhǎng)ist主要方法:注:set()方法在設(shè)置插入位置以前應(yīng)確保長(zhǎng)度大于需要插入的位置,否則將拋出異常。ListFunction2)Set<T>Set代表一類(lèi)數(shù)據(jù)的無(wú)序列表。與JAVA不同的是:Set是一個(gè)類(lèi),不存在HashSet等子類(lèi)。即實(shí)例化eg:Set<String>set1=newSet<String>();Set主要方法如下:SetFunction3)Map<K,V>Map代表著鍵值對(duì),與JAVA用法類(lèi)似,區(qū)別為Map是一個(gè)類(lèi),不是接口,不存在HashMap<K,V>等子類(lèi)Map主要方法如下:MapFu

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論