2014-02-21 3 views
0

У меня есть ArrayList, и каждый объект состоит из массива из двух поплавков, представляющих координаты. Я обнаружил, что могу сериализовать ArrayList, вызывая метод .toString() на нем, но это не сериализовало массивы с плавающей точкой в ​​ArrayList. Как я могу продолжить сериализацию?Как сериализовать ArrayList массивов float

Вот в основном то, что я сделал:

private ArrayList<float[]> pointsList = new ArrayList<float[]>(); 

В onTouch метод, я добавить координаты к списку:

float[] thisPosition = new float[2]; 
thisPosition[0] = touchX; 
thisPosition[1] = touchY; 
pointsList.add(thisPosition); 

Тогда я сериализовать ArrayList, как это:

pointsList .нанизывать();

Но каждый элемент в списке превращается в F @ 426d51d8 и другие строки, подобные этому. Как я могу сериализовать эти подмассивы и сохранить их числовые значения? Я искал форумы здесь, в StackOverflow и в других местах, но другие подобные вопросы касаются того, как создавать ArrayList массивов String или других ArrayLists.

+0

Возможно, вы захотите использовать json для этого. – Karioki

+0

@ arjun.9990 Простите, что я был чрезвычайно новым для java, но я думал, что сериализация - это процесс преобразования моих массивов в строку json. По крайней мере, так оно и есть в PHP и javascript. Что бы вы на самом деле рекомендовали? –

+0

json лучше, если вы хотите передавать данные через системы через internet.with android используется для создания интерфейса для многих веб-сайтов, которые становятся популярными. Андроид поддерживает его, вы можете прочитать: http://developer.android.com/reference/org/json/package-summary.html – Karioki

ответ

1

попробовать метод этого

Arrays.deepToString(pointsList.toArray()); 
+0

Perfect. Благодаря! –

0

ArrayList в ToString() вызывает метод ToString() методы элементов списка. float [] не имеет метода self toString(), поэтому используется метод toString() из класса Object. Вот почему печатается что-то вроде F @ 426d51d8.

Чтобы сериализовать массив в строку, вы должны использовать метод Arrays.toString (a).

Смежные вопросы