字符串索引超出范围:-1是我在hadoop mr的Map器中执行此代码时遇到的错误。
String line = value.toString();
String[] longLatArray = line.split(",");
double lat = Double.parseDouble((longLatArray[0]).substring(1));
行如下所示:“(-21.2432363125682,-175.14134768396616,1)”
我的目标是去掉第一个“(”,只把-21.2873623放到我的lat变量中。
编辑:
当我尝试在hadoop接口中进行调试时,得到的结果如下:
attempt_201406251613_0002_m_000000_0: line: (-21.24132363125682,-175.14134768396616,1)
attempt_201406251613_0002_m_000000_0: index 0
attempt_201406251613_0002_m_000000_0: (-21.24132363125682
attempt_201406251613_0002_m_000000_0: index 1
attempt_201406251613_0002_m_000000_0: -175.14134768396616
attempt_201406251613_0002_m_000000_0: index 2
attempt_201406251613_0002_m_000000_0: 1)
当我在本地执行非常相似的代码时,我没有得到任何错误
还有,这里-1的意义是什么?
任何帮助都将不胜感激!
2条答案
按热度按时间olqngx591#
vu8f3i0k2#
这是工作为我打算,给我的lat从coords在
value
. 这使我相信,无论是在什么问题value
. 您确定该值包含您期望的值吗?您可以通过执行以下操作进行调试:并核实一下。1让我相信你已经过了极限,但我不是100%肯定。