真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ABAP和Java里關(guān)于DEFAULT機(jī)制的語言特性是什么-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“ABAP和Java里關(guān)于DEFAULT機(jī)制的語言特性是什么”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計(jì),榮成網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:榮成等地區(qū)。榮成做網(wǎng)站價格咨詢:028-86922220

ABAP 740的新語法:

ABAP和Java里關(guān)于DEFAULT機(jī)制的語言特性是什么

上圖的代碼相當(dāng)于:

DATA: ls_data LIKE LINE OF it_data.
READ TABLE it_data INTO ls_data WITH KEY object_ext = cl_crm_prodil_bo_names=>gc_prod_root.
CALL METHOD add_data
   EXPORTING
      ir_child_object = ir_root_object
      is_data = ls_data.

由此可見新語法比較簡潔,能少寫3行代碼。但是這樣有一個缺陷,在新語法下如果it_data內(nèi)表內(nèi)不存在object_ext的值為cl_crm_prodil_bo_names=>gc_prod_root的記錄,就會終止程序執(zhí)行,拋出異常CX_SY_ITAB_LINE_NOT_FOUND.

ABAP和Java里關(guān)于DEFAULT機(jī)制的語言特性是什么

針對這種情況,ABAP也有對應(yīng)的解決方案。

下圖的第17行會拋出異常,而19行不會,從語義上容易理解:如果內(nèi)表lt_data里不存在name為Spring2的記錄,則返回開發(fā)者使用DEFAULT關(guān)鍵字指定的一個結(jié)構(gòu)作為默認(rèn)值。

ABAP和Java里關(guān)于DEFAULT機(jī)制的語言特性是什么

在Java 8也有類似機(jī)制。為了避免臭名昭著的NullPointerException,Java開發(fā)人員在使用對象的實(shí)例方法之前,需要檢查對象實(shí)例是否不為null:

if( xx != null ){
    xx.doSomething();
}

在Java 8里,在包java.util里提供了一個新的工具類Optional,看看它的用法。

第11行的filter方法,語義上應(yīng)該返回一個null,因?yàn)槲以诘?0行初始化的字符串常量的長度顯然大于6. 但是調(diào)用這個filter方法的對象是一個Optional對象,所以最終filter方法最終也返回一個Optional對象,這個對象包裹了一個null。如下圖調(diào)試器里所示:


ABAP和Java里關(guān)于DEFAULT機(jī)制的語言特性是什么

第14行執(zhí)行的結(jié)果會打印出orElse里指定的值,此處orElse的思路和上述介紹的ABAP里的DEFAULT關(guān)鍵字是一致的。

ABAP和Java里關(guān)于DEFAULT機(jī)制的語言特性是什么

這個Optional工具類的實(shí)現(xiàn)也很簡易,orElse僅僅是一個三元表達(dá)式。

ABAP和Java里關(guān)于DEFAULT機(jī)制的語言特性是什么

ABAP和Java里關(guān)于DEFAULT機(jī)制的語言特性是什么

“ABAP和Java里關(guān)于DEFAULT機(jī)制的語言特性是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


當(dāng)前名稱:ABAP和Java里關(guān)于DEFAULT機(jī)制的語言特性是什么-創(chuàng)新互聯(lián)
路徑分享:http://weahome.cn/article/dhjhdj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部