Java 7以降、次のような同じcatch節で複数の例外をキャッチすることができます。複数の型のオブジェクトをメソッドにパラメータとして渡す
try {
...
} catch(IOException | SQLException ex) {
...
}
同様に、継承を使用せずに次のように実装する方法はありますか?
public void passMultipleTypes(Type1 | Type2 obj) {
...
}
obj
オブジェクトがType1
又はType2
のいずれかであり得ます。 これらのクラスが生成され、私はそれらを変更することができないので、私はここで継承を使用したくありません。だから私は
public class Test1 extends CommonSuperClass {
...
}
Type1
とType2
は、同様の属性を持っているとして、それらを定義することはできません。だから私はobj
と以下のように考えていました。
public void passMultipleTypes(Type1 | Type2 obj) {
System.out.println(obj.getCode());
System.out.println(obj.getValue());
}
は、ここでは受け入れ答えを見てみましょう:のhttp:/を/stackoverflow.com/questions/10777384/method-accepting-two-different-types-as-parameter – Daneel
@Daneel私はあなたが提案したソリューションをOPが選ぶことができるとは思わない。クラスが生成され、両方のクラスのインタフェースを実装するのは難しいかもしれません。 – Knu8
ジェネリック型を確認してください。 – CrazyJavaLearner