我使用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");