Java为何不引入真泛型_java的泛型怎么能那么坑爹呢?

不解释,上代码:

List list1=new ArrayList();

A a=new A();

list1.add(a);

List list=list1; 这样写你觉得会报错么?哈,不会!

可这又挨着我sxgkwei毛事呢?

好吧,我来说说情况。我当前做的项目是用的hibernate,然后查询的时候拼条件是利用DetachedCriteria来拼的,那new DetachedCriteria(A.class)然后你用这个去查,查出来的集合内对象自然全部是A,可是有个哥哥/弟弟在给上层提供出的DAO层方法返回上居然写的List,以前一直用着居然没错,因为他们拿到集合后就利用个工具类直接转JSON的丢到web端用JS处理去了,恰巧的是他们用到的A中的属性在B中也正好有,所以他们也一直是对的。

今天我要用了,我就一直以为它是B,好,我给B加了一个属性(A中没有此属性),好吧死活搞死我,在web端的JS中就是没有这个属性,我R啊,查来查去找不到问题所在,而且就是我这个属性拿不到数据,其它显示的属性都正常的朝我淫笑,我无语。最后一行一行的看,从前台看到后台,终于发现new DetachedCriteria(A.class),立刻叫到:MD,这明明是A对象啊,谁在坑老子。可惜的是,项目收尾阶段了,辞职的辞职,转其它项目的转其它项目,整个项目组只剩下我一个了。

好吧,说了这么多,最后可能你还是要说,这是那个提供DAO层方法的杀千刀的问题,和java有毛关系?

可我要说,尼玛的java你就允许这么赋值啊?当初就给他们报错让他们过不了,今天有这么多事儿么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值