-4
我想做一個接受一般參數的方法。我想知道哪些做法是從上市的要好:使用「T」與「Object」作爲方法參數來接受參數?
1. void someMethod(T object)
OR 2. void someMethod(Object object)
而且是什麼上述各的優勢?
我想做一個接受一般參數的方法。我想知道哪些做法是從上市的要好:使用「T」與「Object」作爲方法參數來接受參數?
1. void someMethod(T object)
OR 2. void someMethod(Object object)
而且是什麼上述各的優勢?
void someMethod(T object)
不是一個通用的方法(你沒有<T> void someMethod(T object)
),因此它必須是具有類型參數T
一些通用類和T
這裏指的是T
。 YourClass<Foo>.someMethod()
將只接受類型Foo
的參數。另一方面,如果它被聲明爲void someMethod(Object object)
,那麼該方法將總是接受任何類型的引用,即,YourClass<Foo>.someMethod()
將只接受任何引用類型的參數。
'空隙的someMethod(T對象)'將創建通用對象對於任何特定的類型,其中,作爲'空隙的someMethod(Object對象)'可能導致ambugity – emotionlessbananas
**注**:都是不同 – emotionlessbananas
我回答一個類似的問題[此處](http://stackoverflow.com/a/38475261/3788176)。特別是,我認爲「輸入參數具有類型變量的唯一觀點是:如果:」與您的問題在這裏相關。 –