У меня есть такой класс:
case class TrendsByTicker(var tickers: Array[String], var trends: Array[Array[YearlyTrend]])
, и изначально у меня есть такая переменная:
var zeroVal = TrendsByTicker(Array[String](), Array(Array[YearlyTrend]()))
, которую я передаю как аргумент acc
этой функции:
def seqOp(acc: TrendsByTicker, value: Stock): TrendsByTicker = {
if (!acc.tickers.contains(value.ticker)) {
acc.tickers :+ value.ticker
acc.trends :+ initializedTrends
}
val index = acc.tickers.indexOf(value.ticker)
//do something else
}
Где value.ticker
- строка. Как видите, я хочу проверить, содержится ли value.ticker
в массиве acc.tickers
String, и, если нет, добавить его. Наконец, получите индекс value.ticker
, который я только что поставил. Я не понимаю, почему indexOf возвращает мне -1, хотя я только что добавил. Я знаю, что строка в value.ticker
, если это то, что вам нужно знать. В чем дело? Почему indexOf не может найти value.ticker
, которое я только что добавил?