私はIModelElementインタフェースとそのインタフェースを実装するいくつかのクラスを持っています。私のコードのどこかに次の文があります。与えられた型があるインタフェースを実装している場合の方法
Object childClass = request.getNewObjectType();
ここでgetNewObjectType()はClassオブジェクトを返します。そのClassオブジェクトがIModelElementインターフェイスを実装するクラスを表しているかどうかを確認する必要があります。
request.getNewObjectType()リターンが効果的に私が使用している要求インタフェースの実装では常にクラスインスタンスを返す(オブジェクトとしてのおかげでたくさん...私は、しかし、クラスとしてchildClassを宣言することはできません。私は考えます基本要求インタフェースは、その関数が、ジェネリックを使わずにクラスの戻り値の型と互換性があるようにオブジェクトを返すものとして宣言します。コメントありがとうございます、私が議論していることが意味をなさない場合は教えてください、私はJavaの完全な初心者です... –
roirodriguez
私はあなたのインターフェイス/ジェネリックの問題を理解しているか分からない。 'getNewObjectType()'が常にClassオブジェクトを返す場合、それがObjectを返す理由はありません。ジェネリックスなしでClassを他のものと同じように簡単に使用できます。 –
Ok ...依然として後者の問題(依頼インターフェースの実装変更:依頼はObjectを返すファクトで、実際の実装では常にClassオブジェクトを返す)これらのインターフェースと実装はすべて外部APIからのものであり、すべてのファクトリ実装が常にClassオブジェクトを返すかどうかはわかりません... ifステートメントでのキャストは常に互換性がありますが、ClassとしてのchildClassの宣言は、Class以外のObjectを返すファクトリ実装と互換性がない可能性があります。 – roirodriguez