私はスカラーのシングルトンオブジェクトについてthe articleを読んでいますが、それがクラスのインスタンスであるかどうかを知ることはできませんでした。 次の簡単なプログラムは、この特定のケースのためにそれが本当だと伝えます:コンパニオンは常にクラスのインスタンスですか?
class TestMatch(val i: Int)
object TestMatch{
def apply(i: Int) = new TestMatch(i)
def unapply(tm : TestMatch): Option[Int] = Some(tm.i)
}
私はこのようにそれをテストしてみました:
println(TestMatch.isInstanceOf[TestMatch]) //false
が、それは警告fruitless type test
を生成しました。 このようなテストの実行方法がわかりません。
ここで何を証明しているのか分かりません。オブジェクトを完全に削除すると、同じ結果が得られます。 'tm'は' TestMatch'クラスのインスタンスであり、 'TestMatch'コンパニオンオブジェクト。 –
@TzachZoharはい、私はそれに気づきました。しかし元の質問はどうですか?コンパニオンオブジェクトのタイプは何ですか? – stella
@TzachZohar私は自分の質問を編集しました – stella