ABAP和Java里关于DEFAULT(默认)机制的一些语言特性
ABAP 740的新语法:
上图的代码相当于:
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内表内不存在object_ext的值为cl_crm_prodil_bo_names=>gc_prod_root的记录,就会终止程序执行,抛出异常CX_SY_ITAB_LINE_NOT_FOUND.
针对这种情况,ABAP也有对应的解决方案。
下图的第17行会抛出异常,而19行不会,从语义上容易理解:如果内表lt_data里不存在name为Spring2的记录,则返回开发者使用DEFAULT关键字指定的一个结构作为默认值。
在Java 8也有类似机制。为了避免臭名昭著的NullPointerException,Java开发人员在使用对象的实例方法之前,需要检查对象实例是否不为null:
if( xx != null ){ xx.doSomething(); }
在Java 8里,在包java.util里提供了一个新的工具类Optional,看看它的用法。
第11行的filter方法,语义上应该返回一个null,因为我在第10行初始化的字符串常量的长度显然大于6. 但是调用这个filter方法的对象是一个Optional对象,所以最终filter方法最终也返回一个Optional对象,这个对象包裹了一个null。如下图调试器里所示:
第14行执行的结果会打印出orElse里指定的值,此处orElse的思路和上述介绍的ABAP里的DEFAULT关键字是一致的。
这个Optional工具类的实现也很简易,orElse仅仅是一个三元表达式。
要查看更多ABAP和Java,JavaScript的语言特性比较,请关注Jerry的公众号:汪子熙。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java or Python?初学者的选择
Java or Python?初学者的选择 有部分学员过来咨询,说自己拿不定主意,是学习java呢,还是学习python?今天我就给大家说道说道,关于这两个语言的选择问题。 我先表明下自己的观点,java和python这两门语言,都要学习,但是,要有先后顺序。 强烈推荐先学习java。java是个严谨、高效的编程语言,出道20余年,在编程兵器排行榜上,常年占据前三。从这就能看出java这门语言深得人心,是见过世面的编程语言,这么多年,什么风雨都经历过,从互联网草莽时代,凭借一己之力,为互联网推向全宇宙做出了不可磨灭的贡献,到了移动互联网时代,Android的兴起,让java又活出了第二个生命,羡煞旁人。再到大数据时代,java又毫无悬念的霸屏了,Hadoop的技术圈里,java始终是焦点。 以上就足以让你选择java了。至于python语言,现在火的不行,全宇宙都知道的编程语言,吸引了不少人的眼球,各大培训机构的标语都是大数据+python+人工智能了,这些趁热点的标语你看看就行了,别当真,当真你就输了。python是个脚本语言,极其灵活,极其好学,既然这么好,为啥不学呢?其实在编程界...
- 下一篇
《Java基础视频-深入浅出精华版视频》视频下载及视频介绍
《Java基础视频-深入浅出精华版视频》 下载链接:https://pan.baidu.com/s/1pLc7AvL#list/path=%2F 视频介绍 ============================================================================= 视频介绍: 本套Java视频教程是黑马程序员刘老师精心录制的免费精华版Java基础视频,历经6年推出的一套Java入门教程。 该视频专门针对零基础的学员录制,授课讲究通俗易懂、干货。 通过该套Java视频教程的学习,相信你能够轻轻松松地入门java语言。 注:掌握了该套Java视频教程的知识,就可以具备报读Java就业班的条件。 ============================================================================= 视频概况: Java入门教程【第一阶段】 1.计算机基础知识,常用快捷键和常用DOS命令。 2.Java语言发展史,Java开发环境的搭建,体验Java程序的开发,Java程序的执行过程,初学者常见问...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能