私は別のモデルにキャストする必要があるJCRノードのList<Node>
を持っています。現時点では、モデルのそれぞれが独立した機能を持っている:Javaでリスト値のキャストを標準化する
public List<MetaModel> castNodesToMetaModel(List<Node> nodes) {
List<MetaModel> models = new ArrayList<MetaModel>();
for (Node node : nodes) {
models.add(new MetaModel(node, this));
}
return models;
}
protected List<ArticleModel> castNodesToArticleModel(List<Node> nodes) {
List<ArticleModel> models = new ArrayList<ArticleModel>();
for (Node node : nodes) {
models.add(new ArticleModel(node, this));
}
return models;
}
は私がT
タイプを使用してこのキャスティングを標準化することができます方法はありますか?
protected <T> List<T> castNodes(T className, List<Node> nodes) {
ArrayList<T> list = new ArrayList<T>();
for (Node node : nodes) {
list.add(new T(node, this)); // Cannot do: new T()
}
return list;
}
コンストラクタはjava.lang.reflect.Constructorのインスタンスですか? – bashaus
はい。申し訳ありませんが、関連する輸入品を追加する必要があります。 –
@bashausはいそれは –