2

Log というカスタム クラスがあります。ジェネリックを使用できないため、ログの配列リストを作成できません。そこで、標準の arraylist (型オブジェクト) を作成し、すべての「ログ」をそこにコミットします。次に、後で arraylist を反復処理するときに、単に「出力」オブジェクトをログとしてキャストします。すなわち

Log log = (Log) it.next();

これが機能するかどうかはわかりません...または、それが最善のアイデアである場合でも機能します。フィードバックをお寄せいただきありがとうございます。

4

1 に答える 1

1

はい、動作します。

より安全にするために、オブジェクトがinstanceof演算子Logを使用して型であるかどうかを確認できます。

Object obj = it.next();
if( obj instanceof Log){
    Log log = (Log) obj;
    // Do something
} else {
    //Log a warning or error message
}
于 2013-02-06T03:29:52.563 に答える