Integer または Long のいずれかのパラメータで正しく動作する Java メソッドがあります。
ジェネリックを使用して、いずれかのタイプのパラメーターを受け入れるメソッドを持つ方法はありますか?
何かのようなもの:
public <? extends Number> calculateOutput (<? extends Number> inputNumber) {
return inputNumber + 1;
}
T
aを extends と宣言することで、非常に近づけることができますNumber
。
public <T extends Number> T calculateOutput (T inputNumber) {
ただし、これにより、任意Number
の、偶数Float
またはBigInteger
.
+
さらに、一般的なパラメーターを使用すると、ここでは自動ボックス化解除が機能しないため、使用できません。ケースを個別にテストする必要がありますが ( Long
、Integer
)、それでは、このメソッドを最初からジェネリックにするという点が無効になります。