
关于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类 才有意义????
展开
展开全部
当调用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是合理的。
希望能帮到楼主。
如果你没有为Course类定义equals方法,那么默认从Object继承的equals方法只有在Course对象与A是同一个对象的时候才会返回true(推论就是如果A不是Course类那么肯定返回false)
如果你为Course类重写了equals方法,那么返回true或false得根据你的实现来定了。
不过通常来说,如果A不是Course类的对象,那么返回false是合理的。
希望能帮到楼主。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询