私はJavaでライブラリ管理アプリケーションを構築しています。抽象関数、パラメータ型はクラスを拡張します
私はMaterial
という抽象クラスを持っています。それはequals
と呼ばれる抽象メソッドを持っています。
はNewspaper
と呼ばれるサブクラスであるとequals
は内部Material
ているとして、それは当然のことながら、まったく同じシグネチャを持つ、equals
を実装します。
public <T extends Material> boolean equals(Class<T> elementoAComparar) {
if (this.getTitulo().equals(elementoAComparar.getTitulo()) && this.getFechaPublicacion().equals(elementoAComparar.getFechaPublicacion())) {
return true;
} else {
return false;
}
}
JavaはelementoAComparar
の方法のうちのいずれかを解決することはできません。それらはすべてNewspaper
に存在し、Material
を拡張します。
私は助けを得ましたon this thread of SOしかし、私はそれが本当に動作するようにすることはできません。
私が実際には得られないのは、ジェネリックパラメータとして動作しているクラスのメソッドを使用する方法です。
私は、これは難しいことではありません本当に確信しているが、私は、Javaには本当に少しの経験を持って、私に硬くなりすぎないようにしてください:)
ありがとう!
なぜあなたの 'equals'メソッドは引数としてクラスを取るのですか? – khelwood
私は自分が何をしているのか理解できていないことを証明します。 今私は実際に何をしているのか理解していますが、私がしたことはまだ分かりません。私は本当に "クラス"の意味を持っていません。 –
DavidVV