3.3 列表和递归

728 篇文章 1 订阅
349 篇文章 0 订阅

3.3 列表和递归

 

不可变的函数式数据类型,元组是一个很好的例子,但许多函数式数据类型,还有另外的属性值得在这一章讨论:递归(recursion)。有一个经典的编程笑话:递归的定义是什么?“递归,参见递归。”

递归在函数编程中有不同的形式,它可以出现在类型的构造中,如列表。表示函数式列表类型,既可以为空,也可以由元素和列表组合而成。可以看到,我们描述的列表类型,递归用在了定义中。递归的第二种形式可能更加广为人知,即用于写递归函数。我们先看一下第二种形式的示例,然后再演示第一种形式的列表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ReflectionKit.getSuperClassGenericType 是 MyBatis Plus 框架的一个工具类方法,用于获取指定类的泛型参数类型。具体来说,它会根据传入的类对象和泛型参数索引,反射获取该类的父类指定索引位置的泛型参数类型。 例如,如果我们有一个类 A 继承自 B,而 B 又继承自 C,且 A 类定义了一个泛型类型 T,我们可以使用 ReflectionKit.getSuperClassGenericType(A.class, 0) 来获取 T 的实际类型。这个方法会先获取 A 的父类 B,然后再从 B 的父类 C 获取泛型参数类型列表,最后返回列表指定索引位置的实际类型。 需要注意的是,这个方法只能获取直接父类的泛型参数类型,如果要获取更深层次的父类的泛型参数类型,需要递归调用该方法。同时,如果指定索引位置的泛型参数类型不存在,该方法会返回 null。 ### 回答2: MyBatis Plus是一个开源的持久层框架,它在MyBatis的基础上进行了一系列的扩展和封装,简化了数据库操作的流程和代码量。 在MyBatis Plus 3.3版本,有一个ReflectionKit类,其的getSuperClassGenericType方法用于获取父类的泛型类型。在Java,泛型是一种将类型参数化的机制,可以在类、接口或方法使用。通过泛型,我们可以在编译时确定方法的参数和返回值的类型,提高代码的类型安全性和重用性。 getSuperClassGenericType方法的作用是获取父类的泛型类型。在使用MyBatis Plus进行数据库操作时,我们经常需要在实体类定义属性和对应的数据库表字段,然后通过Mapper进行数据库的增删改查操作。使用泛型,可以将通用的数据库操作方法抽象出来,并在实际使用时再指定具体的类型。getSuperClassGenericType方法就是用来获取父类定义的泛型的具体类型。 在使用ReflectionKit的getSuperClassGenericType方法时,我们需要传入一个类的反射对象参数,然后通过一系列的反射操作获取父类的泛型类型。这个方法会根据传入的参数,递归查找当前类和父类定义的泛型类型,直到找到具体的类型为止。 总的来说,MyBatis Plus 3.3的ReflectionKit.getSuperClassGenericType方法是用于获取父类的泛型类型的工具方法。通过这个方法,可以对使用了泛型的类进行更加灵活和通用的数据库操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值