- 浏览: 490839 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (672)
- 随便写写 (3)
- javascript (16)
- Java exam (58)
- JSP exam (25)
- Servlet exam (25)
- Struts exam (24)
- Spring exam (24)
- Hibernate exam (19)
- EJB exam (25)
- SOA exam (6)
- AJAX exam (25)
- Web开发 exam (25)
- 软件工程 exam (25)
- 项目管理 exam (25)
- .NET exam (23)
- ASP.NET exam (24)
- C# exam (24)
- C++ exam (25)
- C语言 exam (13)
- ASP exam (0)
- PHP exam (0)
- Ruby exam (0)
- Python exam (0)
- Delphi exam (0)
- Linux exam (0)
- UNIX exam (25)
- 数据库 exam (24)
- Oracle exam (25)
- SQL Server exam (20)
- MySQL exam (16)
- Mobile开发 exam (10)
- 嵌入式开发 exam (6)
- 网络安全 exam (0)
- 网络技术 exam (0)
- 综合技术 exam (0)
- HR面试 exam (0)
- 英语面试 exam (0)
- 外企面试 exam (0)
- 软件测试 exam (0)
- QTP exam (0)
- LoadRunner exam (0)
- 网友面经 exam (0)
- 应届生 exam (0)
- 面试指导 exam (0)
- IQ测试 exam (0)
- Flex exam (2)
- uml-ea (1)
最新评论
-
dxking100:
远光没有笔式题的说..
最新远光软件笔试题面试题内容(1) -
heming_way:
谢谢,正在复习软件工程考试呢,呵呵
《软件工程》选择题 -
梅玲达:
可以更详细点吗?
Hibernate中Criteria 和DetachedCriteria的作用是什么? -
buptjian:
学习下,试试看,谢谢啊~
Prototype如何实现页面局部定时刷新? -
bubblegum89:
这个。。。和我笔试时候做的 感觉完全不一样
最新远光软件笔试题面试题内容(3)
在比较对象时候,常常用到 “==” 和 “equals(Object)”。它们常常让初学者感到疑惑。下面先看一个例子
public class Example1
{
public static void main(String[] args)
{
String s1=new String(”abc”);
String s2=new String(”abc”);
// s1=s2;
System.out.println(”用 == 比较结果”);
System.out.println(s1==s2); //false
}
}
既然两个 String 对象内容同为 “abc” 为什么先打出 false 呢。那是由于 “==” 比较的是两个对象的引用 (references),并不是他们的内容,怎么才能比较内容是否相等呢?去掉 s1=s2 一句的注释符结果就不同了,因为他们的引用相同了。
我们要使用 equals(Object) 方法,由于 equals(Object) 方法为 Object 类中定义的方法,所用按照默认方式定义过的类均是其子类。 也就是说 Object 类为所有类的超类 (super class,也叫父类、基类等),在Object 中的 equals(Object) 方法其标准形式为
public boolean equals(Object obj)
返回类型为 boolean ,即 true/false 与 “==” 返回类型一样。Object 类中定义的 equals(Object) 方法是直接使用 “==” 比较的两个对象,所以在没有覆盖 (override,或称改写、重写) equals(Object) 方法的情况下,equals(Object) 与 “==” 一样是比较的引用。如下例 (结果在注释中):
public class Example4
{
public static void main(String[] args)
{
Example4 e=new Example4();
Example4 e4=new Example4();
System.out.println(”用 equals(Object) 比较结果”);
System.out.println(e.equals(e4)); //结果为 false
System.out.println(”用 == 比较结果”);
System.out.println(e==e4); //结果为 false
}
}
equals(Object) 方法与 “==” 相比的特殊之处就在于它可以覆盖,所以我们可以通过覆盖的办法让它不是比较引用而是比较数据内容。当然 JDK 中也有覆盖过 equals(Object) 方法的类,如 java.lang.String,它就覆盖了从 Object 继承来的的 equals(Object) 方法,用以比较字符串内容是否相同。看看下面这个例子:
public class Example1
{
public static void main(String[] args)
{
String s1=new String(”abc”);
String s2=new String(”abc”);
System.out.println(”用 == 比较结果”);
System.out.println(s1==s2);//false
System.out.println(”用equals(Object) 比较结果”);
System.out.println(s1.equals(s2));//true
}
}
例中用 equals(Object) 比较结果为 true。用 == 比较结果为 false。String.equals(Object) 方法直接比较了两个字符串的内容,如果相同则返回 true ,否则返回 false。你可以尝试把其中一个 “abc” 改成 “abcde”,看看结果有何变化。
public class Example1
{
public static void main(String[] args)
{
String s1=new String(”abc”);
String s2=new String(”abc”);
// s1=s2;
System.out.println(”用 == 比较结果”);
System.out.println(s1==s2); //false
}
}
既然两个 String 对象内容同为 “abc” 为什么先打出 false 呢。那是由于 “==” 比较的是两个对象的引用 (references),并不是他们的内容,怎么才能比较内容是否相等呢?去掉 s1=s2 一句的注释符结果就不同了,因为他们的引用相同了。
我们要使用 equals(Object) 方法,由于 equals(Object) 方法为 Object 类中定义的方法,所用按照默认方式定义过的类均是其子类。 也就是说 Object 类为所有类的超类 (super class,也叫父类、基类等),在Object 中的 equals(Object) 方法其标准形式为
public boolean equals(Object obj)
返回类型为 boolean ,即 true/false 与 “==” 返回类型一样。Object 类中定义的 equals(Object) 方法是直接使用 “==” 比较的两个对象,所以在没有覆盖 (override,或称改写、重写) equals(Object) 方法的情况下,equals(Object) 与 “==” 一样是比较的引用。如下例 (结果在注释中):
public class Example4
{
public static void main(String[] args)
{
Example4 e=new Example4();
Example4 e4=new Example4();
System.out.println(”用 equals(Object) 比较结果”);
System.out.println(e.equals(e4)); //结果为 false
System.out.println(”用 == 比较结果”);
System.out.println(e==e4); //结果为 false
}
}
equals(Object) 方法与 “==” 相比的特殊之处就在于它可以覆盖,所以我们可以通过覆盖的办法让它不是比较引用而是比较数据内容。当然 JDK 中也有覆盖过 equals(Object) 方法的类,如 java.lang.String,它就覆盖了从 Object 继承来的的 equals(Object) 方法,用以比较字符串内容是否相同。看看下面这个例子:
public class Example1
{
public static void main(String[] args)
{
String s1=new String(”abc”);
String s2=new String(”abc”);
System.out.println(”用 == 比较结果”);
System.out.println(s1==s2);//false
System.out.println(”用equals(Object) 比较结果”);
System.out.println(s1.equals(s2));//true
}
}
例中用 equals(Object) 比较结果为 true。用 == 比较结果为 false。String.equals(Object) 方法直接比较了两个字符串的内容,如果相同则返回 true ,否则返回 false。你可以尝试把其中一个 “abc” 改成 “abcde”,看看结果有何变化。
发表评论
-
广州喜创信息技术有限公司JAVA 软件工程师笔试题
2010-10-14 18:33 8881.某程序代码如下,当运行java test.ChildCla ... -
怎样才能提高JAVA的性能
2010-10-14 18:33 638提高JAVA的性能,一般考虑如下的四个主要方面:(1) 程序设 ... -
一套英文Java笔试题面试题
2010-10-14 18:33 10591.what is the meaning of JVM ?2 ... -
Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别
2010-10-14 18:33 890Collection接口,包含list和set子接口Colle ... -
java中有哪些类可用于管理集合对象?
2010-10-14 18:33 735java.util中共有13个类可用于管理集合对象,它们支持集 ... -
广州喜创信息技术有限公司JAVA 软件工程师笔试题
2010-10-12 13:21 7361.某程序代码如下,当运行java test.ChildCla ... -
怎样才能提高JAVA的性能
2010-10-12 13:21 725提高JAVA的性能,一般考虑如下的四个主要方面:(1) 程序设 ... -
一套英文Java笔试题面试题
2010-10-12 13:21 16021.what is the meaning of JVM ?2 ... -
Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别
2010-10-12 13:21 811Collection接口,包含list和set子接口Colle ... -
java中有哪些类可用于管理集合对象?
2010-10-12 13:21 613java.util中共有13个类可用于管理集合对象,它们支持集 ... -
腾信公司—技术笔试题
2010-10-12 13:20 7821.字符转换;2.数据类型转换;3.HashTable和Has ... -
Java笔试题一套 需要的朋友可以看看
2010-10-12 13:20 6032.下面代码的输出是什么?一共在内存中生成了几个String对 ... -
达内的一份JAVA面试题-CORE JAVA部分(2)
2010-10-12 13:20 113525.数组转换问题。 Object[] object = ... -
30道Java 1.4模拟经典题(2)
2010-10-12 13:20 61116. What results from the follo ... -
在应用程序中使用JavaMail来读取和发送邮件的基本流程
2010-10-12 13:20 739在应用程序中使用JavaMail来读取邮件的基本流程如下: ... -
银丰新融—技术笔试题
2010-10-12 13:20 986一、简述Servlet生命周期?(时间4分钟)二、简述Http ... -
新东方JAVA培训 月考题目(选择部分)
2010-10-12 13:20 819Core Java试题选择填空题: 选择题全部为多选题,只有 ... -
上海达内学员赴贝尔阿尔卡特面试题分享
2010-10-12 13:20 8251.main(String args[])方法中能否调用非静态 ... -
顺驰—技术笔试题
2010-10-12 13:20 7921.Applet与servlet如何通信;2.JSP标签的作用 ... -
Java笔试题 共五道题
2010-10-12 13:20 691笔试题1、写出输出public class Jtest{int ...
相关推荐
详细介绍和讲解Java中的==和equals区别
==运算符和Equals()方法区别,从网上找到的,大家看一看吧~
java中比较值大小,==和equals的区别,基本数据类型和引用数据类型比较值方法
==和equals方法究竟有什么区别? == 操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。 ...
关于Java中==的用法与equals的用法,醉重要的是比较它们的不同之处
能够加强对java中equals与==区别的理解。
接触c#一年了,一直没搞懂“==”和equals之间的具体区别,今天特意研究了一番,终于豁然开朗了,高兴中!给大家分享
对于开发的程序员小伙伴,大家肯定对于==和equals不陌生,而且会经常用到他,那么又有几个能够说清楚了==和equals是怎么回事呢?他了呢两个有什么区别呢? 比较 == 比较的是栈中的值,基本数据类型是变量值,引用...
主要介绍了java基础之 “==”与“equals”区别详解,需要的朋友可以参考下
String中==与equals区别验证
java中equals和==的区别.doc java中equals和==的区别.doc
在本文中,我们将讨论“ ==”与“ .Equals in C#”之间的区别。
equals和==的区别?equals与==的区别?equals和==有什么区别? Java解惑系列之一--equals和==之间究竟有什么区别 稍微学过一些java的同学都可能在网络上看到这样的一道题: 在java语言当中,equals和==之间究竟有...
equals与==之间的区别,记事本详解
Java面试题07.==和equals的区别.mp4
主要介绍了C#中的 == 和equals()的区别,对不同点进行了阐述,感兴趣的小伙伴们可以参考一下
== == :既可以比较基本类型,也可以比较引用类型,如果比较八大数据类型主要比较的是值,比较引用类型主要比较的是内存地址值 equals(没有被重写过) ...总结:==跟equals的区别 1. ==既可以比较基本
【Java面试题】equals与==的区别
主要介绍了java 中equals和==的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了java==运算符和equals()方法的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧