0

次の 2 つの Scala ファイルがあります。

object ImplicitsHome {
  implicit class StringWrapper(val str: String) extends ImplicitsHome with Serializable
}


trait ImplicitsHome {
  def str: String

  def embelishString: String = {
    str.concat("fancy")
  }
}

と:

import ImplicitsHome._

class User {

  def buildSuperString(str: String): String =   {
    str.embelishString
  }
}

object User {
  def main(args: Array[String]): Unit = {
     val usr = new User()
     val fancy = usr.buildSuperString("hi")
     println(fancy)
  }

}

私が疑問に思っているのは、embelishString関数を複数回呼び出す必要がある場合、暗黙的StringWrapperなクラスの複数のインスタンスを作成することになるのでしょうか?

暗黙的を使用すると String ( ) が渡されるため、これが心配です-関数strのさまざまな呼び出し間で共有することに注意する必要があるのは「状態」ですか?embelishString

4

1 に答える 1