`…bykey()`在kotlin flatbuffers impl中返回null

wztqucjr  于 2021-07-12  发布在  Java
关注(0)|答案(0)|浏览(276)

我有以下模式:

...
table FiltersByDomain {
  domain: string (key);
  filters: [FilterIsIncluded] (required);
}

table Index {
  ...
  filters_by_domain: [FiltersByDomain];
   ...
}

root_type Index;

当我使用getter by index并收集键时,我能够找到一些值:

val domains = mutableMapOf<String, Int>()
        for (i in 0 until index.filtersByDomainLength) {
            val pair = index.filtersByDomain(i)!!
            domains[pair.domain!!] = pair.filtersLength
        }
        assertTrue(domains.keys.contains("scifinow.co.uk"))
        val someDomain = "dcw50.com"
        assertEquals(3, domains[someDomain]) // succeeds

如果我使用生成的 ..ByKey 它返回的方法 null :

assertEquals(3, index.filtersByDomainByKey(someDomain)!!.filtersLength) // fails

下面是测试(在android上)。
ps.使用 api 'com.google.flatbuffers:flatbuffers-java:1.12.0' ,生成的文件 flatc --kotlin -o ../java schema.fbs pps公司。只是出于好奇我试过 flatc --java -o ../java schema.fbs java类,它也失败了。

> flatc --version
flatc version 1.12.0

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题