
Parameter 和 argument經(jīng)常被混淆,雖然它們是完全不同的兩個概念。就讓我們來討論下它們是什么以及它們之間的區(qū)別。我們也會去理解什么是type parameter和type argument
Parameter vs Argument
parameter是函數(shù)中定義的一個變量,argument則是傳遞給我該函數(shù)的實際值。為啦好理解,請看下面的例子。
fun randomString(length: Int): String {
// ....
}
randomString(10)
這個例子中,length是一個parameter,10即為argument
Type parameter vs Type argument
parameter和argument之間的區(qū)別是通用的,可以應(yīng)用于各種類型的函數(shù),方法,構(gòu)造器等等。我們來探討下泛型類下的應(yīng)用:
class Box<T>
val a: Box<Int> = Box()
這里,Box是一個泛型類,T為其type parameter。使用時我們指定Int作為type argument
翻譯自:Programmer dictionary: Parameter vs Argument, Type parameter vs Type argument