Jerry以前在工作中交替做着ABAP和Java开发时,总是在使用一种语言时,怀念另一种语言的便利之处,比如用ABAP开发时,怀念Java里以List为代表的功能强大,使用方便的集合工具类。
List或许是众多Java初学者最先接触和掌握的Java集合工具接口之一。以最具代表性的实现类ArrayList为例,查看其源代码,发现ArrayList不过就是用面向对象的编程方式封装了对一个对象数组的常用操作,使其不仅支持Java原生Array的所有功能,同时也支持前者不具备的动态扩容功能。
对Java稍有了解的开发者,要自己仿照着写出一个同样的ArrayList实现,并不是一件困难的事情。不过List接口和其众多实现类都是Java开发包的一部分,这使得Java开发者做应用开发时不用重复造轮子,可以直接使用,非常方便。
那么SAP ABAP里存在类似的集合工具类么?
首先我们有内表,具备Java Array的所有功能,并且功能和使用灵活度上来说都远胜后者。但内表的操作毕竟是一种面向过程的编程思路。ABAP里存在类似Java List的接口吗?
通过之前查看Java ArrayList的实现源代码,我们可以仿照其思路,在ABAP里实现一个一模一样的ABAP ArrayList出来,只需要定义一个