我有一个包含简单且嵌套键的文档。
简单键如下所示:
cass SimpleKey {
String name;
String val;
}
这样的嵌套键:
cass NestedKey {
String name;
List<NestedKey> val;
}
因此,简单键仅包含name
和val
,嵌套键name
和任意数量的简单键或嵌套键。
我遇到的问题是我需要将嵌套键和简单键都放在同一列表中。
因此,我做了SimpleKey extends NestedKey
,并在需要时将NestedKey
转换为SimpleKey
。
但是,这确实很奇怪-SimpleKey
不能扩展NestedKey
。代表这一点的最好方法是什么?
我研究了Composite模式,但是我需要能够遍历NestedKey
实例(和SimpleKey
)的列表以及访问字段,并且如果我给它们提供了公共接口或父对象类,这意味着每次我想访问name
和val
字段时都需要转换列表元素,对吗?因此,现在进行更多投射。
编辑
我需要打开它:
simplekey val
this.is.a.nested.key val
对此:
simple val
this
is
a
nested
key val (<-- looks like a simple key)