今天碰到一个问题,公司提供的人脸算法提取的特征点是float[]数组,在存储的时候想了一些办法,有存储为byte[]或者字符串等等,但是最后都是失败告终,因为虽然能够存储但是怎么还原呢?可能是我太菜吧,,哈哈哈
查找了很多方法后,找到了一个折中的办法,就是使用Gson啦!
先使用Gson将float[]数组转换为String字符串,最后在转成float[].
具体实现代码如下:
Gson gson = new Gson();
float[] a = {1.234f,12.667f,45.222f};
//1.float[]数组转换为json
String str = gson.toJson(a);
System.out.println(str);
//TODO 将json以字符串存储在sqlLite中
//2.字符串转成Float[]
Float[] b = gson.fromJson(str, Float[].class);
//3.将值赋值给float[]数组,此步骤可能多余
float[] c = new float[a.length];
for (int i = 0; i < a.length; i++) {
c[i]=b[i];
System.out.println(c[i]);
}
有什么不足,请多多指出。