日期:2014-05-18  浏览次数:20616 次

Hibernate映射类的问题
在使用Hibernate时,有一BEAN类中的一字段形式如下:
Set   order   =   new   HashSet();
为什么不写成:HashSet   order   =   new   HashSet();

------解决方案--------------------
Set 是接口
------解决方案--------------------
楼上说对了,就像List list=new ArrayList()一样
------解决方案--------------------
其实都可以,看个人习惯了。

有人习惯用接口表示数据的就用Set
有人习惯用具体类表示数据的就用HashSet
------解决方案--------------------
推荐用接口。
------解决方案--------------------
Set order = new HashSet();

Set是接口,我们在具体应用时 先指定类型 然后new 一个具体要用到的对象


------解决方案--------------------
父类引用之类对象。。更好的灵活使用new出来的对象。。。
这样你在添加一个新类实现或者继承父类的时候就就可以用通过这样的方法。。
Set order = new HashSet();

这不是看个人习惯。。有则用。

------解决方案--------------------
呵呵,这是 典型 多态的使用啊!
Set order = new HashSet();
如果你现在 不使用HashSet了,改用TreeSet了, 只用改一处地方就可以了。接口都是一样的。