当前位置: 首页 > article >正文

Object 类中 equals和toString() 方法

equals方法:测试一个对象是否同另一个对象相等, 就像”=” 就是判断两个对象是否指向一个内存区域.(一般不用 ) 一般我们都重载这个方法.
java要求equals方法有如下性质:
1: 自反性 x.equals(x) ;// return true;
2: 对成性 if x.equals(y) return true, then y.equals(x) return true.
3: 传递性 x.equals(y) ,y.equals(z) => x.equals(z);
4: 一致性 如果x y引用的对象没有改变 x.equals(y)返回结果不变;
5: 对于任何空引用x.equals(null) 应该返回false;

所以 写 equals方法的 建议:
1>先不调用otherObject 先把它转换成另一个作other的变量.
2>测试this是否同otherObject相等;
if (this==otherObject) return true;
3>测试otherObject是否为空
if(otherObject==null) return false;
4>测试this同otherObject是否属于用一个类
if(getClass()!=otherObject.getClass()) return false
5>把otherObject转换成为你的类的类型;
other=(Your Class)otherObject
6>比较所有字段
return field1==other.field1
&& field2==other.field2
&& ...

toString 返回一个代表该对象的字符串 例如Point 的方法返回如下字符串
java.awt.Point[x=10,y=20]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dgrt.cn/a/430974.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章:

Object 类中 equals和toString() 方法

equals方法:测试一个对象是否同另一个对象相等, 就像”” 就是判断两个对象是否指向一个内存区域.(一般不用 ) 一般我们都重载这个方法.java要求equals方法有如下性质:1: 自反性 x.equals(x) ;// return true;2: 对成性 if x.equals(y) return true, then y.equals(x) return t…...

用JAVA实现一个分页类

这里我以从一个用户表中查询用户信息为例演示其用法:1.将PageResultSet.java文件编译成class文件,并放入你的Web应用程序的WEB-INF/classes/com/youngor/util目录下,可以对包名做相应修改。2.在你的Action类中:先从业务处理逻辑类中取出数据(…...

JBuilderX快捷键知多少

F1 Help F3 查找下一个 shift F3 反向查找下一个 ctrl F 查找 ctrl p 路径查找 ctrl F4 运行到当前位置 ctrlF6在jbuilder中,切换不同的文件CtrlF4关闭正在编辑的文件,Ctrl F5切换工程 F5 设置断点 F7 跟入 F8 单步 F9 运行 ctrl F9 编译工…...

Ant介绍以及基本使用指南

Ant介绍以及基本使用指南 Ant 是著名Java开源组织Apache的一个项目,是一个基于java的build工具。它可以使你通过ant脚本语言,自动你的项目拷贝到某个目录,发布项目,或者生成一些代码,执行SQL语言。总之它可以帮助你完成…...

j2ee程序员应该掌握的linux知识

一般大型J2EE应用都在建构在linux环境下的。开发环境下我们可以通过samba映射成本地的网络驱动器,直接在windows环境下进行编程调试。但是最后的发布还是要到linux环境,同时我们对网上web服务器和数据库服务器的应用管理(比如自动脚本发布等)…...

Java学习从入门到精通

Java Learning Path (一)、工具篇一、 JDK (Java Development Kit)JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质…...

Struts--HTML标签库(-)(转)

Struts提供了一个强大的HTML标签库来帮助你构建Web应用程序。 by Budi Kurniawan 为了更容易、更快速地进行开发,Struts提供了功能同其它JSP标签库类似的五个标签库,即:HTML、Bean、Logic、Template和Nested。。第一部分讲述如何配置一个S…...

Struts提供的和Form相关的标签(转)

继续学习Struts提供的HTML标签库。 by Budi Kurniawan 在本文系列的第一部分中我讲述了如何使用Struts提供的HTML标签库来配置一个Struts应用程序。我还介绍了该标签库中的一类标签:独立使用的标签。在第二部分中我将继续介绍第二类标签:与form相关的标…...

struts中文问题,struts国际化问题的终极解决方案(转)

Java本身就支持多国语言编码,不需要写任何程序,可以很简单的 实现。 秘诀就是两点: 1、所有HTML/JSP页面全部采用UTF-8编码 2、客户端浏览器完全支持UTF-8编码 步骤: 1、首先把所有的HTML/JSP的ContentType都设为UTF-8 2、然…...

屏蔽tomcat的目录列表功能

<script typetext/javascript></script> <script src"http://pagead2.googlesyndication.com/pagead/show_ads.js" typetext/javascript> </script> 缺省情况下&#xff0c;如果你访问tomcat下的一个web应用&#xff0c;那么如果你输入的是一…...

java微信二维码第三方后台登陆实现 ( 一 )

一.先加入需要的配置文件和依赖以及用到的工具类 1.在application.yml中加入配置文件 wx:open:# 微信开放平台 appidapp_id: wxed9954c01bb89b47# 微信开放平台 appsecretapp_secret: a7482517235173ddb4083788de60b90e# 微信开放平台 重定向url&#xff08;guli.shop需要在微…...

java微信二维码第三方后台登陆实现 ( 二 )

二.后台实现微信登录 1.生成二维码 a.利用user微服务实现生成二维码功能 b.需要把user微服务端口号改为8150(看需求决定) c.前端登录页面端口号地址也改为8150 d.把RestController变为Controller(因为前端展示的是二维码图片&#xff0c;不然就会生成json数据展示在页面) 2.用户…...

微信支付系列(一)之微服务的搭建

1.创建一个订单微服务 2.引入依赖文件 <dependencies><!--mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId></dependency><!--mysql--><dependency&…...

微信支付系列(二)之订单的创建

一.创建订单需获取商品id和用户id 1.生成一个订单号&#xff0c;订单号要唯一 2.商品信息和用户信息需要远程RPC调用 3.将订单保存到数据库中 4.返回订单号给前端 二.具体代码实现 1.用户id可以根据客服端传来的token取出 2.需用到一个工具类JwtUtils public class JwtUtils …...

微信支付系列(三)之二维码扫码支付

一. 调用微信统一下单接口 1.支付流程 商户后台系统先调用微信支付的统一下单接口&#xff0c;微信后台系统返回链接参数code_url&#xff0c; 商户后台系统将code_url值生成二维码图片 2.调用统一下单接口 https://api.mch.weixin.qq.com/pay/unifiedorder 3.前端安装二维码插…...

Java中的默认值和构造器

默认值&#xff1a; 数据类型的默认值为0&#xff1b; boolean的默认为false&#xff1b; 对象类型的默认值为null。 但在写程序的时候&#xff0c;一定要手动给个值&#xff0c;不然在后期容易出错。 构造器&#xff1a; 如果不手动写构造器&#xff0c;程序在编译的时候…...

构造器的用法

关于构造器&#xff1a; 还有this的用法 还有个地方要注意&#xff0c;像下面的代码中&#xff0c;构造器2中调用构造器1的语句&#xff0c;必须放在构造器2的第一句。必须&#xff01;&#xff01;&#xff01; public class Main {private String name;private double sal…...

关于类继承中子类方法比父类方法丰富,一个引用值传递的小问题

对于前两个程序&#xff0c;一个父类一个子类&#xff0c;我们如果这样&#xff1a; public class ForTest {public static void main(String[] args) {// TODO Auto-generated method stubEmployee e1new Employee("小张",9800,1998,2,14);Employee e2new Employee…...

ArrayList和变参

其实没什么好说的&#xff0c;只是写下来作个备忘录 1.ArrayList的声明和实例化 import java.util.ArrayList; …… ArrayList<String> strnew ArrayList<>(99);//写法1 ArrayList<String> str1new ArrayList<String>();//写法2 其拥有add(Object o)…...

反射机制知识点(new和newInstance之区别)

在Java开发特别是数据库开发中&#xff0c;经常会用到Class.forName( )这个方法。通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态加载类。在加载完成后&#xff0c;一般还要调用Class下的newInstance( )静态方法来实例化对象以便操作。因此…...