`
娜娜TX
  • 浏览: 8259 次
  • 性别: Icon_minigender_2
  • 来自: 湖南长沙
社区版块
存档分类
最新评论

equals和==的区别

阅读更多

equals是object提供的一个方法

equals是用来比较两个基本类型的变量值是否相等,如果用在引用类型中是比较两个变量是否指向同一个对象

在object中equals和==都是比较地址是否相等,而在String中equals则是比较值是否相等

equals比较的是两个对象的内容是否相等,而==比较的是内存中的值是否相等

equals不可以用来比较整型变量

以下是代码实现:

 

//定义一个Student类
public class Student {

	private int age;
 
	public Student(int age) {
		this.age = age;
	}

	public boolean equals(Object obj) {
		if(this==obj){
			return true;
		}
		if(obj instanceof Student){
			Student st = (Student)obj;
			return this.age==st.age;
		}
		return false;

		
	}

}

 

//定义一个Demo3主类,创建对象输出他们的结果并分析其原因
public class Demo3 {
	
	public static void main(String[] args) {
		
		Student s1 = new Student(100);
		Student s2 = new Student(100);
		Student s3 = s1;
		
		System.out.println(s1==s2);
		System.out.println(s1.equals(s2));
		System.out.println(s1.equals(s3));
	}

}

 

//定义一个Demo类,分别用几种不同的方式给以下7个变量赋值,分析这几种方式有什么区别
public class Demo {

	public static void main(String[] args) {

		// 以下三种方式都是在内存中保存一个数值100

		int a1 = 100;
		int a2 = 100;

		Integer a3 = 100;
		Integer a4 = 100;

		Integer a5 = new Integer(100);
		Integer a6 = new Integer(100);

		System.out.println(a1 == a2);
		System.out.println(a3 == a4);
		System.out.println(a1 == a3);

		System.out.println(a5 == a6);
		System.out.println(a1 == a5);
		System.out.println(a3 == a5);
		
		int a7 = a6;

 

//定义一个Demo2主类,分别给变量赋值,分别用==和equals输出结果,看有什么不同并分析其原因
public class Demo2 {

	public static void main(String[] args) {

		String s1 = "ABC";
		String s2 = "ABC";

		String s3 = new String("ABC");
		String s4 = new String("ABC");

		System.out.println(s1 == s2);
		System.out.println(s3 == s4);
		System.out.println(s1 == s3);
		
		System.out.println("-------------------------");
		
		System.out.println(s1.equals(s2));
		System.out.println(s3.equals(s4));
		System.out.println(s1.equals(s3));

	}

}

 

 

  • 大小: 38.5 KB
1
0
分享到:
评论

相关推荐

    浅谈java 中equals和==的区别

    在Java编程语言中,`equals()` 和 `==` 运算符经常被用来比较对象,但它们之间存在着显著的区别。理解这些差异对于编写正确、健壮的代码至关重要。以下是关于 `equals()` 和 `==` 在Java中的详细解释。 首先,`==` ...

    java equals和==的区别详解

    在Java编程语言中,`equals()` 和 `==` 运算符在比较对象时有着显著的不同。理解这两者的区别对于编写高效、可靠的代码至关重要。以下是它们的详细解释: 1. **`==` 运算符**: `==` 在Java中主要用于比较基本类型...

    详解 Java 中 equals 和 == 的区别

    在 Java 编程语言中,`equals()` 和 `==` 是两种常见的用于比较对象的运算符,但在处理字符串时,它们的行为有所不同。本文将详细解释它们的区别,并提供示例进行说明。 1. `equals()` 方法 `equals()` 方法是 ...

    浅谈Java中的equals和==Java开发Java经验

    总结来说,理解`equals()`和`==`的区别是Java开发的基本功。`==`用于比较引用或基本类型的值,`equals()`通常用于比较对象的内容,特别是在已经重写该方法的类中。在日常编程实践中,合理运用这两个工具可以提高代码...

    Java中equals与==的用法和区别

    Java中equals与==的用法和区别 Java 中的 equals 与 == 是两个常用的比较操作符,但是它们的用法和区别却非常重要。理解它们的差异是编写高效、正确的 Java 程序的关键。 什么是 == ? 在 Java 中,== 是一个比较...

    java中equals和==的区别

    Java 中 equals 和 == 的区别 Java 中的 equals 和 == 是两个不同的概念,很多开发者容易混淆它们。理解这两个概念的区别是非常重要的,因为它们对编程的正确性和性能都有很大的影响。 首先,我们需要了解 Java ...

Global site tag (gtag.js) - Google Analytics