Scala: indexOf возвращает -1, несмотря на то, что я добавил элемент прямо перед этим - PullRequest
0 голосов
/ 09 мая 2020

У меня есть такой класс:

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, которое я только что добавил?

...