給定下面的測試用例,其中有3個場景。我會問這裏有什麼規則支配的時候一定要和我們沒有指定類型參數什麼時候我們不能指定類型參數
@Test
def testTypeParamter(): Unit = {
class Cat[A]
//1. Don't need to specify the type parameter for Cat
def getCat() = new Cat
println(getCat())
import scala.collection.mutable.ArrayBuffer
//2. Don't need to specify the type parameter for ArrayBuffer
val bf = new ArrayBuffer()
println(bf)
//3. Do need to specify the type parameter for ArrayBuffer to make bf2 += 1 work
val bf2 = new ArrayBuffer[Int]()
bf2 += 1
println(getCat())
}
與#2,#3相比,如果我們創建一個空的ArrayBuffer沒有我們能做些什麼類型參數
感謝@prayagupd的有用答案。 REPL是一個很好的工具,但我忘了它.. – Tom
是的,Scala REPL或clojure REPL是快速嘗試的非常重要的工具。關於何時可以使用'泛型[Nothing]',我不認爲你會想要使用它,而是使用'Option [泛型[T]]'。順便說一句['None'](http://www.scala-lang.org/api/2.7.0/scala/None$object.html)已經擴展了'Option [Nothing]'。 – prayagupd