TreeNode的key和value建议修改为string类型

Blade 未结 1 17

一、该问题的重现步骤是什么?

  1.  TreeNode的key和value是Long类型,但是很多时候我们会用key和value存放一些如编码、其他属性信息,改成string类型更适用一些

TreeNode BaseNode<TreeNode> {

    = ;

    String ;

String ;

String ;

2. 在DeptController的tree方法,定义的返回类型是List<DeptVO>,但是返回到前端的确实是List<TreeNode>类型,但是我这样写代码却报错,不明白DeptVO前端为啥能存放TreeNode结构数据,但是转换又转换不了

List<DeptVO> tree = .tree(Func.(tenantId, bladeUser.getTenantId()), parentCode, );
(TreeNode node : tree) {   // 这行报类型转换错误

}

3.


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  • 这个主要是给主子表提供的,主子表主键是long类型,如果treeNode改成string,则所有地方都需要做强转(带id和parentId的类就没法直接复用,需要全部重新创建),效率较低。

    所以建议你依葫芦画瓢,新建一套 StringTreeNode 就可以了,这样可以专项专用。

    返回deptVO但是前端序列化为TreeNode,是因为他实现了接口,会自动序列化(自带的id和parentId适配INode接口无需强转)。

    public class DeptVO extends Dept implements INode<DeptVO>



    0 讨论(0)
提交回复