为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第三季

难度入门
时长 5小时 0分
学习人数
综合评分9.50
1125人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.4 逻辑清晰
直接在set集合中添加数据不就行了,非要这样麻烦,把简单问题都给写的这么复杂,没上个老师说得好
这老师把简单问题说的又长又乱
老是这样说,总是喜欢把简单问题复杂化
老是喜欢把简单问题说的很复杂,其实不用这样使用几个类来讲解List
老师这样讲把简单问题说复杂了
这比喻太傻了
运行结果应该是跟题中一样的 欢迎大家来指导一下 直接以文本形式保存在randomstring文件中 代码地址:我的头像->TA的社区->Ta的作品
String prefix =fileName.substring(index+1);
if ( index!=-1 && index!=0 && prefix=="java" )
结束也是开始,一起加油吧
为什么我的小明选的课顺序都是一样的???都是1-2-4
http://www.imooc.com/opus/resource?opus_id=2207
完结,精打细算版
将所学到的知识完全合理应用--.
新手小白 写一下我的理解 如果有错误大家指正下
对于类对象 equals方法比较的是 栈的地址 ,所以达不到比较contains方法想要达到的比较内容的目的,所以必须改写equals方法。
对于类对象 equals 与 == 如果不该写几乎是等价的。
改写程序中 首先判断两者栈地址是否相同,如果相同既为同一对象 肯定相同。
其次如输入对象为 空 ,则返回-1;由于定义比较对象时 由于构造方法的存在, 不可能为空,所以不存在空跟空的比较。
再判断二者类型是否相同 , 这样只剩下地址不同 类型相同 的对象进行比较。
再后面的判断则是结合了本实例的要求 对Course中的 name 属性进行比较。当this 里面name 为空时 如输入对象name属性也为空,则二者相同。 否则 this 的name不为空 ,由于String类中 equals的重写机制,真正的只比较内容 ,所以此处用this.name.equals(cr.name),如果相同则输出 true
对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。
对于复合数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是基于他们在内存中的存放位置的地址值的,因为Object的equals方法也是用双等号(==)进行比较的,所以比较后的结果跟双等号(==)的结果相同。
java中的数据类型,可分为两类:
1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean
他们之间的比较,应用双等号(==),比较的是他们的值。
2.复合数据类型(类)
当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较
课程须知
此部分为 Java 课程的进阶内容,适合具有一定 Java 基础的伙伴们学习,如果您是新手,建议您移步 《Java入门第一季》 和 《Java入门第二季》,在理解并掌握面向对象相关知识后再回来进修。
老师告诉你能学到什么?
本课程将学习 Java 中的异常处理、集合框架、字符串、常用类等,逐步学习掌握 Java 高级技术。

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消