- 浏览: 102464 次
- 性别:
- 来自: 杭州
文章分类
最新评论
package testSingle; import org.junit.Test; public class TestEqualSingle { @Test public void testSingle() { Person p = Person.getInstanse(); Person p1 = Person.getInstanse(); System.out.println(p1 == p);// true } /**总结:单例模式产生的对象是同一个对象,==意味着引用的对象是同一个, * 不管改引用对象是在堆里还是栈里 .*/ @Test public void testEqules() { Person p = Person.getInstanse(); Student s = new Student(); s.setName("张三"); System.out.println(s.equals(p));// true } /** * 总结:然后是equals方法相等,它不管是什么类的对象,只管 * 是否符合能够让equals相等,当你没重写hashcode方法时,不会相等, * 因为Object写的 hashcode是随机的,equals相等的前提条件是hashcode相同 */ } class Student { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public boolean equals(Object obj) { if (obj instanceof Student) { Student s = (Student)obj; if (s.getName() != null) { return s.getName().equals(this.name); } } if (obj instanceof Person) { Person p = (Person)obj; if (p.getName() != null) { return p.getName().equals(this.name); } } return false; } @Override public int hashCode() { return this.name.hashCode(); } } class Person { private String name; private static final Person per = new Person(); /** 获取单例 */ public static Person getInstanse() { return per; } private Person() { super(); name = "张三"; } @Override public int hashCode() { return this.name.hashCode(); } @Override public boolean equals(Object obj) { if (obj instanceof Student) { Student s = (Student)obj; if (s.getName() != null) { return s.getName().equals(this.name); } } if (obj instanceof Person) { Person p = (Person)obj; if (p.getName() != null) { return p.getName().equals(this.name); } } return false; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
发表评论
-
项目中曾经犯过的错
2011-06-03 09:46 6961:改变的入参的值。错误的代码: public static ... -
容易搞混的问题
2011-05-07 14:53 7711:switch语法的运用 public static vo ... -
自写的连接池-生产者消费者
2010-10-25 11:38 790public class DBConnectionPool ... -
简陋线程池1
2010-10-12 14:46 786package pool; import java.ut ... -
内部类和外部类的关系思考
2010-08-19 10:34 847编译期报错的代码 : import ipad.IpadHtt ... -
Stream-->Directory
2010-08-16 09:04 690public class Directory { ... -
FieldReader
2010-08-14 10:35 746package utils; import java.i ... -
sax解析
2010-07-27 17:40 643package mySaxDo; import java ... -
dom树打印
2010-07-22 17:00 1070package demo; import org.apach ... -
socket编程
2010-07-22 09:09 1523服务器端: package server; ... -
单例模式和 properties
2010-07-13 17:04 959import java.io.File; import ja ... -
对String对象的操作
2010-06-30 13:50 737/** 写一个方法,实现字符串的反转,如:输入abc,输出c ... -
包装类Integer
2010-06-28 15:02 834package othertest; import or ... -
计算出出现次数最多的字母和该字母出现的次数
2010-06-28 10:13 1044方法一: package testString; im ... -
java调用plsql
2010-06-15 20:48 3483package test; import java.sql. ... -
xml解析(转)
2010-06-15 20:42 718JAVA 2009-11-09 10:22:33 阅读10 ... -
ObjectInputStream流 持久化
2010-06-15 20:39 982ObjectInputStream流 持久化 vo类: ...
相关推荐
在测试程序中,`object1` 和 `object2` 是不同的实例,所以`object1.equals(object2)` 返回`false`,而`object1 == object2` 也返回`false`。 总之,理解和正确使用`equals()` 和 `==` 是Java编程中的基础,这有助...
在Java编程语言中,`==` 和 `equals()` 是两种常用的比较操作符,但它们的用法和含义有所不同。本文将深入探讨这两个概念,并通过实际的代码示例进行测试和解释。 首先,`==` 操作符用于基本类型(如 int、char、...
此外,`Equals`和`GetHashCode`应满足以下契约: - 如果`a.Equals(b)`为`true`,那么`a.GetHashCode()`和`b.GetHashCode()`应该相同。 - 如果`a.Equals(b)`为`false`,那么`a.GetHashCode()`和`b.GetHashCode()`...
1. **`equals`方法和`hashCode`方法应保持一致性**:如果两个对象根据`equals`方法是相等的,那么它们的`hashCode`也应该是相等的。这是因为某些集合框架(如`HashMap`)会使用`hashCode`来定位元素,而使用`equals`...
最后,我们通过给出的测试代码可以进一步了解这些方法和运算符在实际代码中的应用。通过不同的方式调用这些方法和运算符,我们可以看到不同情况下的比较结果。例如,对于字符串对象,由于它们被优化为相同的实例,...
3. 传递性:对于任何非null的引用x、y和z,如果x.equals(y)返回true,并且y.equals(z)返回true,那么x.equals(z)也应返回true。 4. 一致性:对于任何非null的引用x和y,只要对象的字段不变,多次调用x.equals(y)应该...
`TestPerson.java`可能包含了对`Person`类以及其子类的测试代码,验证`equals()`方法的正确性和多态性的应用。 总结,"方法重写equals"是为了比较对象的内容,而"多态"则是面向对象编程中的重要特性,允许我们以一...
- 测试`equals()`和`hashCode()`的正确性,可以使用JUnit的EqualsTester类或自定义测试用例。 总之,`equals()`和`hashCode()`是Java中不可或缺的方法,它们对于对象的比较和哈希表操作起着核心作用。理解并正确...
Busted是一个流行的Lua单元测试框架,它提供了简洁的语法和丰富的功能,使得编写和运行测试用例变得简单易行。Busted的主要特点包括: 1. **断言库**:Busted提供了一套丰富的断言函数,如`assert.is_true`,`...
Java中==符号与equals()的使用详解是Java程序中的一个重要概念,它们都是用来测试两个变量是否相等的,但是它们的使用方法和应用场景是不同的。下面我们将详细介绍Java中==符号与equals()的使用详解。 一、使用==...
"关于Object中equals方法和hashCode方法判断的分析" 在 Java 中,Object 类提供了两个重要的方法:equals 方法和 hashCode 方法。这两个方法都是用于比较两个对象是否相等的,但它们的实现机理和作用域却有所不同。...
weixin_smartapplication ...//调用单元测试assert函数,进行实际值,和期望值的判断,that是小程序当前页面的引用,最后一个参数是当前测试用例的描述 assert(test_string_value, false, that, "string va
在 `EqualsTest.java` 文件中,我们可以预期会找到一个测试类,该类可能包含对 `equals()` 和 `hashCode()` 方法的实现和测试。测试通常会使用 `assertEquals()` 来验证 `equals()` 和 `hashCode()` 方法的正确性,...
//调用单元测试assert函数,进行实际值,和期望值的判断,that是小程序当前页面的引用,最后一个参数是当前测试用例的描述 assert(test_string_value, false, that, "string value filter")
Equals允许您在测试期间在python对象之间声明某些相等约束。 有时我们不想断言绝对相等,例如,我们需要确保两个列表具有相同的元素,但不关心顺序。 这是专门为和使用而设计的。 与Mock搭配使用: from mock ...
南邮软件工程实验 Junit测试 在软件工程领域中,单元测试是一个...本实验为软件工程领域中的单元测试提供了一个实践示例,展示了Junit的使用方法和单元测试的基本概念,并为后续的软件开发和测试提供了有价值的经验。
经过详细的测试和分析,“人民币数字大写转换程序”整体上能够满足设计要求,但仍需进一步改进和完善,特别是在处理边缘案例和异常情况方面。 #### 附录 由于篇幅限制,这里未提供详细的测试用例及测试结果。如有...
综合上述内容,对于2024年秋季招聘的Java开发者和测试开发者,应具备扎实的Java基础知识,包括面向对象设计、异常处理、集合框架等,了解数据库管理和测试自动化,以及具备一定的实际项目经验,能够有效地解决问题并...
在`STest`类中,定义了五个测试方法,分别对应五种不同的输入数组,然后使用`Arrays.equals`方法比较原始数组和排序后的数组是否一致,以此判断排序是否成功。`assertTrue`方法用于断言预期的结果是否与实际结果相符...