Java考查“==”和equals

/**
 *
 */
package com.you.demo;

/**
 * @author YouHaiDong
 * @date 2015-04-02
 */
public class Welcome
{
	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		String str1 = "you";
		String str2 = "you";
		String str3 = new String("you");
		System.out.println(str1==str2);
		System.out.println(str1==str3);
		System.out.println(str2.equals(str3));
	}

}

结果为:

true
false
true
时间: 2024-07-31 14:34:52

Java考查“==”和equals的相关文章

看Java中==、equals、hashCode的来龙去脉

我有一个哥们去参加了面试,面试官这样问一个Java问题: 你说一下java对象的equals方法调用什么方法呢?我这个哥们想了想,回答说"应该是比较的引用".听了这个答案之后,那个面试官摇头晃脑的说:"不对,你回答的不对,equals方法调用的是hashCode方法".于是乎,我那个技术还不错的哥们就悲壮地栽在这道题目上了. 今天晚上,西安历史上少有的热,那就好好总结一下这个题目的来龙去脉好了,也方便给后面的朋友们提个醒,不要栽在这么简单的问题上.你说这个面试官回答

【转】浅谈Java中的equals和==

浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str2 = new String("hello"); 3 4 System.out.println(str1==str2); 5 System.out.println(str1.equals(str2)); 为什么第4行和第5行的输出结果不一样?==和equals方法之间的区别是什么?如果在初

Java 中的 ==, equals 与 hashCode 的区别与联系

一.概述 1.概念 == : 该操作符生成的是一个boolean结果,它计算的是操作数的值之间的关系 equals : Object 的 实例方法,比较两个对象的content是否相同 hashCode : Object 的 native方法 , 获取对象的哈希值,用于确定该对象在哈希表中的索引位置,它实际上是一个int型整数 二.关系操作符 == 1.操作数的值 基本数据类型变量 在Java中有八种基本数据类型: 浮点型:float(4 byte), double(8 byte) 整型:byt

浅谈java对象的equals方法

作为一个被问的很多的一个面试题:java中==和equals有什么区别? 网上普遍的回答都是:==比较的是内存地址,equals比较的是值. 其实这种回答是很不标准的,稍微标准一点的回答应该JDK自带的一些类对equals的实现各不同,例如 Object对象的equals的定义是这样的: public boolean equals(Object obj) { return (this == obj); } 所以在Object中==和equals是没有任何区别的. 但在String中,重写的equ

Java hashCode() 和 equals()的若干问题

原文:http://www.cnblogs.com/skywang12345/p/3324958.html 本章的内容主要解决下面几个问题: 1 equals() 的作用是什么? 2 equals() 与 == 的区别是什么? 3 hashCode() 的作用是什么? 4 hashCode() 和 equals() 之间有什么联系? 第1部分 equals() 的作用 equals() 的作用是 用来判断两个对象是否相等. equals() 定义在JDK的Object.java中.通过判断两个对

java中Object.equals()简单用法

/* equals()方法默认的比较两个对象的引用! */ class Child { int num; public Child(int x){ num = x; } //人文的抛出运行时异常的好处是:可以自定义错误信息! /*public boolean equals(Object o) throws ClassCastException{ if(!(o instanceof Child)) throw new ClassCastException("中文提示:类型错误"); Ch

java:复写equals实例

class User { String name; int age; /* *比较过程思路: *1.两个对象指向位置相同,那么他们就相等,return后跳出函数,不再往下执行 *2.指向位置不同,有3情况 *a:这两对象类型相同,并且内容相同,也属于相等 *b:类型相同,内容不同,属于不等; *c:类型不同,属于不等 */ public boolean equals(Object obj){ //1.指向位置相同,指定同一对象 if(this == obj){ return true; } //

【Java学习笔记之二十九】Java中的"equals"和"=="的用法及区别

Java中的"equals"和"=="的用法及区别 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str2 = new String("hello"); 3 System.out.println(str1==str2); 4 System.out.println(str1.equals(str2)); 为什么第4行和第5行的输出结果不一

Java中的equals和hashCode方法

本文转载自:Java中的equals和hashCode方法详解 Java中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要重写这两个方法. equals()和hashCode()方法是用来在同一类中做比较用的,尤其是在容器里如set存放同一类对象时用来判断放入的对象是否重复.这里我们首先要明白一个问题: equals()相等的两个对象,hashcode()一定相等,equals()不相等的两个对象,却并不能证明他们的h