java 。序列化数组

标签 java arrays serialization

假设我定义一个类

public class PointFloat {
float x;
float y;
}

然后我实例化一个数组

PointFloat[] points = new PointFloat[10];

此时我有一个包含 10 个 PointFloat 对象的数组。假设某些代码将值 x 和 y 分配给每个 float 。 我需要的是将该数组存储在 Mysql 数据库的 VARBINARY 中。

为了实现这一点,我需要将此 PointFloats 数组转换为 byte[],以便我可以使用PreparedStatement 插入数据库 对于我来说,使用PreparedStatement 并不是什么新鲜事,但我是第一次使用对象序列化。

如何将任意大小的 PointFloat 数组转换为 byte[]?。 请尽可能简单。

非常感谢您的阅读。

最佳答案

您可以简单地使用ObjectOutputStream将数组写入 ByteArrayOutputStream 。有关详细信息和示例,请参阅此答案:https://stackoverflow.com/a/2836659/337621

由于您的对象包含两个 float ,因此标准序列化完全满足您的需求。

关于 java 。序列化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22621535/

相关文章:

php - 如果复选框被选中则回显已选中

C 在完成关闭函数时崩溃

php - 替代 jQuery 的 serialize()?

java - 在另一个字符串中搜索字符串数组的最有效方法

java - 为什么我的 head id 没有在 swing 表单中显示数据库中的下一个自动 id?如何编写必填字段的代码?

python - 将 rec.array 转换为数据帧

javascript - 重新索引数组

java - 安卓 : Why occur "NotSerializableException" even if implements "Serialization"?

java - java中接收double的绝对值最快的方法是什么?

java - 当我将其保存为字符串的一部分时,我希望停止将 < 在 Java 中转换为 <