ArrayList<Object> objectList = new ArrayList<Object>();
私は、異なる種類のオブジェクト(オブジェクトAとオブジェクトBなど)を含むリストを生成するために、 )。私はまた、1が異なる種類のオブジェクトを順番に格納し、そのプロパティに従って使用すること
for (Object obj : objectList){
if(obj.getClass() == A.class){
doSomething();
}
}
を使用して、そのリストに含まれているオブジェクトの種類を検索することができます状態の答えを見てきましたが、そのは、これは非常にエレガントなアプローチではないことを述べました。一方、抽象クラスやインタフェースを使用する場合、オブジェクトAとオブジェクトBに対して同じメソッドを用意する必要があります。例えば、A.get()が整数を返す場合、Bget()は整数。しかし、私が望むのは、私のobjectListを使用するメソッドは、objectListに含まれる異なるオブジェクトに対して異なる処理を行うということです。したがって、A.get()は整数を返し、Bget()は文字列を返します。
だから私はあなたに聞きたいことは、これを行うための最善の方法は何ですか?その "ハック"を書くのは難しくないが、私は良いコードを書いてみたいです。
ありがとうございました。
あなたがinstanceof演算子と同じメソッド名 – Limetics
使用を持っている場合、私は=、汎用オブジェクトを使用することができると思います> 'if(obj instanceof A)'の代わりに 'obj.getClass()== A.clこの回答を参照してください:http://stackoverflow.com/questions/7526817/use-of-instance-of-in-java – krokodilko
なぜ私はこの投稿の-1評価を得るのですか?私は適切な文法を使用します。私は質問の中にコードの大きな部分をコピーするだけではなく、私の質問を理解しやすくしました(皆さんは私の質問をすぐに理解しました)。それで問題なの?どうも。ありがとうございました。 – TopCoder