运行结果应该是跟题中一样的 欢迎大家来指导一下 直接以文本形式保存在randomstring文件中 代码地址:我的头像->TA的社区->Ta的作品
2016-01-26
String prefix =fileName.substring(index+1);
if ( index!=-1 && index!=0 && prefix=="java" )
if ( index!=-1 && index!=0 && prefix=="java" )
2016-01-26
http://www.imooc.com/opus/resource?opus_id=2207
完结,精打细算版
将所学到的知识完全合理应用--.
完结,精打细算版
将所学到的知识完全合理应用--.
2016-01-25
新手小白 写一下我的理解 如果有错误大家指正下
对于类对象 equals方法比较的是 栈的地址 ,所以达不到比较contains方法想要达到的比较内容的目的,所以必须改写equals方法。
对于类对象 equals 与 == 如果不该写几乎是等价的。
改写程序中 首先判断两者栈地址是否相同,如果相同既为同一对象 肯定相同。
其次如输入对象为 空 ,则返回-1;由于定义比较对象时 由于构造方法的存在, 不可能为空,所以不存在空跟空的比较。
对于类对象 equals方法比较的是 栈的地址 ,所以达不到比较contains方法想要达到的比较内容的目的,所以必须改写equals方法。
对于类对象 equals 与 == 如果不该写几乎是等价的。
改写程序中 首先判断两者栈地址是否相同,如果相同既为同一对象 肯定相同。
其次如输入对象为 空 ,则返回-1;由于定义比较对象时 由于构造方法的存在, 不可能为空,所以不存在空跟空的比较。
2016-01-25
再判断二者类型是否相同 , 这样只剩下地址不同 类型相同 的对象进行比较。
再后面的判断则是结合了本实例的要求 对Course中的 name 属性进行比较。当this 里面name 为空时 如输入对象name属性也为空,则二者相同。 否则 this 的name不为空 ,由于String类中 equals的重写机制,真正的只比较内容 ,所以此处用this.name.equals(cr.name),如果相同则输出 true
再后面的判断则是结合了本实例的要求 对Course中的 name 属性进行比较。当this 里面name 为空时 如输入对象name属性也为空,则二者相同。 否则 this 的name不为空 ,由于String类中 equals的重写机制,真正的只比较内容 ,所以此处用this.name.equals(cr.name),如果相同则输出 true
2016-01-25
对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。
对于复合数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是基于他们在内存中的存放位置的地址值的,因为Object的equals方法也是用双等号(==)进行比较的,所以比较后的结果跟双等号(==)的结果相同。
对于复合数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是基于他们在内存中的存放位置的地址值的,因为Object的equals方法也是用双等号(==)进行比较的,所以比较后的结果跟双等号(==)的结果相同。
2016-01-25
java中的数据类型,可分为两类:
1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean
他们之间的比较,应用双等号(==),比较的是他们的值。
2.复合数据类型(类)
当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较
1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean
他们之间的比较,应用双等号(==),比较的是他们的值。
2.复合数据类型(类)
当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较
2016-01-25