私は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 でジェネリックを使用するためのガイドラインまたは何らかの規則があるかどうかです。