扩展Java默认集合不被视为良好做法。 但我想知道,为了更清洁的代码,一个人不会扩展,说ArrayList摆脱泛型。例如
public class DoodleList extends ArrayList<Doodle> {
/**
*
*/
private static final long serialVersionUID = 1L;
}
所以在一个代码中你做了一些像“someFramework.getContentAs(DoodleList.class)”这样的事情,没有关于泛型的那些讨厌的警告......等等。
注意 在我的情况下,包装List可能不是一个选项:该类将用于JSON映射,其中所需的输出是:
{doodles:[doodle1,doodle2,doodle3]}
not {doodles:{innerCollection:[doodle1,doodle2,doodle3]}}
答案 0 :(得分:1)
通过玩弄继承气味来掩盖令人讨厌的警告。
为什么不使用注释来抑制警告。例如:
@SuppressWarnings("unchecked")
someFramework.getContentAs(ArrayList.class)"
答案 1 :(得分:1)
如果您真的只想摆脱警告,请使用SuppressWarnings
。
但是,如果DoodleList
不仅仅包含ArrayList<Doodle>
,实现特定于涂鸦的逻辑,我认为扩展ArrayList<Doodle>
没有问题。