-1

2 つの異なる引数タイプ、つまりとsetSource()に対して 2 つのバージョンを持つ 1 つのセッターを使用できますか?setSource(InputStream)setSource(TargetDataLine)

内部的にはObjectRTTI に基づいてフィールドとディスパッチ処理で値を保持していますが、Spring のような Bean 関連のライブラリはそのようなセッターを適切に受け入れるのでしょうか? sourceつまり、異なるタイプの値を 1 つの Bean フィールドに入れることはできますか?

4

1 に答える 1

2

これは本当に正しくないようです。何をgetSource()返しますか?Object?_ もしそうなら、私はあなたがsetSource()受け入れることをお勧めしますObject.

明らかに、それは「一般的」すぎるように思えます。この問題は、モデリングが正しくないこと、および異なるソース タイプを処理する 2 つの特殊なサブクラスが必要であることを示しているのだろうかと思います。

それができない場合は、明示的にしてsetStreamSource()/setTargetDataLineSource()を正しい型で指定し、どちらか一方の設定を強制しますが、両方ではありません (ただし、特殊化が進むべき道だと思います)。

于 2012-07-25T11:47:37.990 に答える