У меня возникает странная проблема, когда я использую for l oop для добавления элемента в java .util.ArrayList, но адрес списка ссылки всегда меняется Вот код:
var curntRow: Row = null
var startTime: lang.Long = null
//this is the list
var standTime: util.ArrayList[Row] = new util.ArrayList[Row]()
for (row <- usersCoorOrderByTime) {
if (curntRow == null) {
startTime = row.getAs[lang.Long](2)
} else if (!row.getAs[String](1).equals(curntRow.getAs[String](1))) {
//And I use the method list.add() right here
standTime.add(Row(row.getAs[String](0), row.getAs[String](1), row.getAs[DoubleType](4), row.getAs[DoubleType](5), curntRow.getAs[lang.Long](2) - startTime))
startTime = row.getAs[lang.Long](2)
}
curntRow = row
}
И пожалуйста, посмотрите pi c, который я отлаживаю ниже: addr is "7703"
Прежде чем попасть в l oop Адрес списка - "7703" Когда попадает в l oop, адрес меняется меняется на «11268»
меняется на «11287»
Самые странные вещи это когда он заканчивается l oop, адрес изменился обратно на то место, где он был первоначально объявлен
изменился обратно на «7703»
, наконец, я получил пустой ArrayList