学习笔记7
来源:互联网 发布:卧虎藏龙 罗小虎 知乎 编辑:程序博客网 时间:2024/06/06 09:07
public static void main(String[] args){
System.out.println(Double.MAX_VALUE);
System.out.println(Double.MIN_VALUE);
System.out.println(Float.MAX_VALUE);
System.out.println(Float.MIN_VALUE);
}
}
4.9E-324
3.4028235E38
1.4E-45
String name;
String says;
public Dog1(String name1,String says1){
name=new String(name1);
says=new String(says1);
}
}
public static void main(String[] args){
Dog1 dog1=new Dog1("spot","Ruff");
Dog1 dog2=dog1; //x1
System.out.println(dog1.name+" "+dog1.says);
System.out.println(dog2.name+" "+dog2.says);
System.out.println(dog1==dog2);
System.out.println(dog1.equals(dog2));
}
}
结果:spot Ruff
spot Ruff
true
true
return (this == obj);
}
不难看出,在Object中,equals和“==”是等价的,都是比较两个对象的应用是否指向同一个对象(因此exercise的结果是两个true,只要==判定是true,则一般equals判定也是true),所以我们自己自定义的类,应当自己重载equals方法。比如说,String类的equals方法就是自己重载的,具体代码如下(我网上找了下。。。)
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = count;
if (n == anotherString.count) {
char v1[] = value;
char v2[] = anotherString.value;
int i = offset;
int j = anotherString.offset;
while (n-- != 0) {
if (v1[i++] != v2[j++])
return false;
}
return true;
}
}
return false;
}
可以看出,String类的equals比较的就是字符串的内容是否相等,因此我们在比较两个String对象时,可以直接用equals()了,因为已经重载。。。建议大家在对于基本类型时,直接使用==或者!=吧。。使用equals()要格外小心。。。。
- VC++7学习笔记
- JavaScript学习笔记7
- Java学习笔记7
- stl学习笔记7
- JavaScript学习笔记7
- Hibernate学习笔记7
- Python学习笔记(7)
- Spring学习笔记7
- android学习笔记7
- 学习笔记7
- C++ 学习笔记7
- JMS学习笔记7
- Android学习笔记7
- Java学习笔记7
- 机器学习-笔记7
- hibernate学习笔记7
- Oracle 学习笔记7
- Ruby 学习笔记7
- 不要批评、责怪或是抱怨
- 永远不要试图报复他人
- 由CSS控制的自由布局
- char,varchar,nvarchar有什么区别,用户名应该用哪个,为什么
- Javascript的保留字
- 学习笔记7
- 李开复给大学生的第一封信
- c++学习
- JSP网站开发
- JAVA开发
- 一个关于C语言输入的问题
- 共享数据的保护
- PRAM模型与Amdahl定律
- Gustafson定律