2016-07-29 110 views
-4

我想做一個接受一般參數的方法。我想知道哪些做法是從上市的要好:使用「T」與「Object」作爲方法參數來接受參數?

1. void someMethod(T object) OR 2. void someMethod(Object object)

而且是什麼上述各的優勢?

+0

'空隙的someMethod(T對象)'將創建通用對象對於任何特定的類型,其中,作爲'空隙的someMethod(Object對象)'可能導致am​​bugity – emotionlessbananas

+0

**注**:都是不同 – emotionlessbananas

+0

我回答一個類似的問題[此處](http://stackoverflow.com/a/38475261/3788176)。特別是,我認爲「輸入參數具有類型變量的唯一觀點是:如果:」與您的問題在這裏相關。 –

回答

0

void someMethod(T object)不是一個通用的方法(你沒有<T> void someMethod(T object)),因此它必須是具有類型參數T一些通用類和T這裏指的是TYourClass<Foo>.someMethod()將只接受類型Foo的參數。另一方面,如果它被聲明爲void someMethod(Object object),那麼該方法將總是接受任何類型的引用,即,YourClass<Foo>.someMethod()將只接受任何引用類型的參數。

相關問題