扁平缓冲区 - 表格



概述

扁平缓冲区的非常基本的构建块是表格属性。这相当于我们使用的语言(例如 Java、Python 等)中的

示例代码

以下是我们需要使用的语法,以指示扁平缓冲区我们将创建给定表格的实例 -

namespace com.tutorialspoint.theater;

table Theater {
}
root_type Theater;

我们将以上内容保存在“theater.fbs”中,并在我们探索其他数据结构时使用它。

解释

namespace com.tutorialspoint.theater;

此参数特定于 Java,即“.fbs”文件中的代码将自动生成的包。Theater 类将在com.tutorialpoint.theater包中创建。

接下来,我们正在创建一个表格,Theater -

table Theater

这只不过是将要创建/重新创建的对象的基础类的类名。请注意,它在当前形状下毫无用处,因为它没有任何其他属性。但是,随着我们的继续,我们将添加更多属性。

使用多个表格属性

单个 fbs 文件也可以有多个表格。例如,如果我们想,我们也可以在同一个文件中添加一个Visitor表格。扁平缓冲区将确保 Theater 类使用 root_type 属性保持为主类。例如 -

namespace com.tutorialspoint.theater;

table Theater {
}

table Visitor {
}
root_type Theater;

从 fbs 文件创建 Java 类

要使用扁平缓冲区,我们现在必须使用flatc二进制文件从这个“.fbs”文件创建所需的类。让我们看看如何做到这一点 -

flat  --java theater.fbs

使用从 fbs 文件创建的 Java 类

就是这样!以上命令应该在当前目录中创建所需的文件,现在我们可以在我们的 Java 代码中使用它们 -

// Create a FlatBuffer Builder with default buffer
FlatBufferBuilder builder = new FlatBufferBuilder(1024);

// Create Theater FlatBuffers using startTheater() method
Theater.startTheater(builder);

在这个阶段,它不是很有用,因为我们还没有向表格添加任何属性。当我们在扁平缓冲区 - 字符串章节中查看字符串时,我们将这样做。

广告