关于java中contains 用法的问题

我们先定义一个Course类再c=newCourse(),用set=newHashSet()来存储这个吃c,当我们调用set.comtains(A)时,这里的A如果不是C... 我们先定义一个Course 类 再c=new Course(),用set =new HashSet() 来存储这个吃 c ,当我们调用set.comtains(A)时,这里的A 如果不是Course类的 是不是返回false ,或者说在这里只有A 为Course类 才有意义???? 展开
 我来答
百度网友f384c78
推荐于2017-09-01 · TA获得超过2070个赞
知道小有建树答主
回答量:538
采纳率:0%
帮助的人:730万
展开全部
当调用set.contains(A)时,会依次用集合中的每一个Course对象的equals方法与A相比较,所以是否返回false要看你的equals方法是怎么实现的。
如果你没有为Course类定义equals方法,那么默认从Object继承的equals方法只有在Course对象与A是同一个对象的时候才会返回true(推论就是如果A不是Course类那么肯定返回false)
如果你为Course类重写了equals方法,那么返回true或false得根据你的实现来定了。

不过通常来说,如果A不是Course类的对象,那么返回false是合理的。
希望能帮到楼主。
智慧小岛
2010-12-03 · TA获得超过313个赞
知道答主
回答量:173
采纳率:0%
帮助的人:94.8万
展开全部
comtains(A)当A非空时是用equals方法进行比较的
如果Course类没有重写equals方法
那只有在set集合中的值和A是同一个对象的引用时才返回true
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式