在Java中使用GSON的StackOverflowException

时间:2013-06-29 07:19:52

标签: java gson stack-overflow

我使用GSON将自定义对象转换为JSON格式的.txt文件。我的问题是,当我运行上述所有代码时,我得到的是StackOverflowException,因为第2行和第4行都存在。如果我注释掉其中一个,那么另一条线就可以了,我得到了正确的结果。我的问题是如何修复我的代码以使两者都能工作?或者我的计算机需要更多RAM内存,因为我目前有4GB?谢谢!

附加点 - performSpatialPoolingOnRegion()方法不是递归的。它所做的就是改变LGNRegion中自定义对象的状态。

您可以在此处查看SpatialPooler.java的实现:https://github.com/quinnliu/WalnutiQ/blob/master/WalnutiQ/src/model/MARK_II/SpatialPooler.java

SpatialPooler spatialPooler = new SpatialPooler(LGNRegion);

Set<ColumnPosition> LGNNeuronActivity = spatialPooler // line 2
.performSpatialPoolingOnRegion();

assertEquals(11, LGNNeuronActivity.size()); // <= this let's me know that the 
// method performSpatialPoolingOnRegion on the line above is working correctly.


String regionObject = this.gson.toJson(LGNRegion); // line 4
JsonFileInputOutput.saveObjectToTextFile(regionObject,
"./tests/model/util/test_saveRegionObject.txt");

0 个答案:

没有答案