要素の型E
を抽象化したデータ構造を Java で実装しようと思って E [] elements
をフィールドに置きつつコンストラクタで elements = new E[8];
とかやったらコンパイラに怒られた.そういえば Generics のパラメータ E
に対しての配列は作れなかったな……
ということで,elements = (E[]) new Object[8];
とかやって誤魔化す.JDK の ArrayList とかもこうやってるし,これが正しいのだろう.なにか色々なものを投げ捨てている気もするし警告でちゃうのだけど.
基本的には ArrayList 使っとけってことだろうけど,どうせなら配列生成の構文だけでも警告の出ない構文を用意してほしかった気がする.
- Newer: ことはじめ