1

Integer または Long のいずれかのパラメータで正しく動作する Java メソッドがあります。

ジェネリックを使用して、いずれかのタイプのパラメーターを受け入れるメソッドを持つ方法はありますか?

何かのようなもの:

public <? extends Number> calculateOutput (<? extends Number> inputNumber) {
    return inputNumber + 1;
}
4

1 に答える 1

2

Taを extends と宣言することで、非常に近づけることができますNumber

public <T extends Number> T calculateOutput (T inputNumber) {

ただし、これにより、任意Numberの、偶数FloatまたはBigInteger.

+さらに、一般的なパラメーターを使用すると、ここでは自動ボックス化解除が機能しないため、使用できません。ケースを個別にテストする必要がありますが ( LongInteger)、それでは、このメソッドを最初からジェネリックにするという点が無効になります。

于 2013-05-23T21:49:20.690 に答える