Home > Archives > 28 October 2019

28 October 2019

Java の総称型の配列

要素の型Eを抽象化したデータ構造を Java で実装しようと思って E [] elements をフィールドに置きつつコンストラクタで elements = new E[8]; とかやったらコンパイラに怒られた.そういえば Generics のパラメータ E に対しての配列は作れなかったな……

ということで,elements = (E[]) new Object[8]; とかやって誤魔化す.JDK の ArrayList とかもこうやってるし,これが正しいのだろう.なにか色々なものを投げ捨てている気もするし警告でちゃうのだけど.

基本的には ArrayList 使っとけってことだろうけど,どうせなら配列生成の構文だけでも警告の出ない構文を用意してほしかった気がする.

Home > Archives > 28 October 2019

Search
Feeds

Page Top