入力が4つの整数のタプルである場合にのみタプル値を計算する関数があります。Scalaで警告メッセージ「型の可変型引数Intがチェックされていません」が削除されました
def add(v:Any) = {
if (v.isInstanceOf[(Int, Int, Int, Int)]) {
val v2 = v.asInstanceOf[(Int, Int, Int, Int)]
println(v2._1 + v2._2 + v2._3 + v2._4)
} else {
println("NOP")
}
}
object Main extends App {
add((1,1,1,1))
add((1,2))
}
Main.main(args)
これは機能していますが、「非可変型引数...は未チェック」という警告が表示されます。
warning: non-variable type argument Int in type (Int, Int, Int, Int) is
unchecked since it is eliminated by erasure
if (v.isInstanceOf[(Int, Int, Int, Int)]) {
なぜこのエラー、およびどのようなこの警告メッセージを削除するための最良の方法かもしれませんか?
これは、実際に必要な動作はありません、それは引数の_static_型が '(Int、Int、Int、Int)'の場合にのみ動作します。例えば。 'Any'を返す関数の戻り値で呼び出された場合は動作しません。 –