1

私はPair、任意の 2 つのオブジェクト (同じまたは異なる型) を保持するジェネリック クラスを作成しています。現在、コピー コンストラクターを作成していますが、解決できないエラーがいくつか発生しています。私のコードは以下の通りです:

public class Pair<T1, T2> {
    // Instance Fields
    private T1 first;
    private T2 second;

    // Constructors
    public Pair() {}

    public Pair(Pair<?, ?> p) {
        first  = p.first;  // error here
        second = p.second; // error here
    }
}

?を使用してペア オブジェクトの型を確認する方法はありますinstanceofか? キャストp.firstした場合はT1機能しますが、クラスを徹底的にして、ユーザーが間違ったオブジェクト ペア タイプを入力した場合やその他の問題が発生した場合など、直面する可能性のある状況を処理できるようにしたいと考えています。

もう 1 つの質問は、Java でジェネリックを使用するためのガイドラインまたは何らかの規則があるかどうかです。

4

1 に答える 1