重写Java中包装类的方法

知识点
一、Object类
Object是所有类的父类。
Object中的方法有:
toString() 描述对象的信息,需要重写。System.out.println
在打印对象的时候会默认调用对象的toString()
equals() Object的equals方法用于对象的“相等”逻辑。

重写 toString()、equals():

 1 package day20190314;
 2 public class User {
 3         private int uid;
 4         private String name;
 5         private String phone;
 6         public User(){
 7
 8         }
 9         public User(int uid, String name, String phone) {
10             this.uid = uid;
11             this.name = name;
12             this.phone = phone;
13         }
14         public int getUid() {
15             return uid;
16         }
17         public void setUid(int uid) {
18             this.uid = uid;
19         }
20         public String getName() {
21             return name;
22         }
23         public void setName(String name) {
24             this.name = name;
25         }
26         public String getPhone() {
27             return phone;
28         }
29         public void setPhone(String phone) {
30             this.phone = phone;
31         }
32         @Override
33         public String toString(){
34             return "编号:"+uid+",姓名:"+name+",电话:"+phone;
35         }
36         @Override
37         public boolean equals(Object obj){
38             if(obj==null)
39                 return false;
40             //==比较的是内存地址
41             if(this==obj)
42                 return true;
43             if(obj instanceof User){
44                 User user=(User)obj;
45                 return this.uid==user.uid;
46             }
47             return false;
48         }
49         //重写hashCode主要是给hashMap用
50         @Override
51         public int hashCode(){
52             return uid;
53         }
54 }
1 package day20190314;
2 public class TestUser {
3     public static void main(String[] args) {
4         User user=new User(1,"root","123456");
5         User user1=new User(1,"root","123456");
6         System.out.println(user.equals(user1));
7     }
8 }

原文地址:https://www.cnblogs.com/SUN99bk/p/10528514.html

时间: 2024-10-10 13:18:08

重写Java中包装类的方法的相关文章

如何重写Java中的equals方法

Java中,只有8种基本类型不是对象,例如:4种整形类型(byte, short, int,long),2种浮点类型(flout, double),boolean, char不是对象,其他的所有类型,不论是对象数组,列表等都扩展了Object类.了解学习Object中方法的设计原理和实现方式有助于更好的学习理解java语言.下面,我们首先学习一下Object中的equals方法. 判断两个对象相等时,JVM首先查找两个对象的hashCode, 如果两者hashCode不同,则返回false;如果

浅谈Java中的hashCode方法

哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现. 为何Object类需要这样一个方法?它有什么作用呢?今天我们就来具体探讨一下hashCode方法. 一.hashCode方法的作用 对于包含容器类型的程序设计语言来说,基本上都会涉及到has

什么情况下才要重写Objective-C中的description方法

特别注意: 千万不要在description方法中同时使用%@和self,同时使用了%@和self,代表要调用self的description方法,因此最终会导致程序陷入死循环,循环调用description方法 1.NSLog回顾   大家都知道,我们可以用NSLog函数来输出字符串和一些基本数据类 1 int age = 11; 2 NSLog( @" age is %d", age); * 第2行的%d代表会输出一个整型数据,右边的变量age会代替%d的位置进行输出 * 输出结果

Java中的toString()方法

Java中的toString()方法 目录 1.????对象的toString方法 2.????基本类型的toString方法 3.????数组的toString方法 4.????参考文献 ? ? 对象的toString方法 在JDK API中对Object对象的toString方法说明如下: toString : public String toString() 返回该对象的字符串表示.通常,toString 方法会返回一个"以文本方式表示"此对象的字符串.结果应是一个简明但易于读懂

JAVA中的finalize()方法

[转]JAVA中的finalize()方法 今天早上看Thinking in java的[第四章 初始化和清除].[  清除:终结和垃圾回收]的时候, 看到了这个东西. 用于清理滴... 当然,这个方法来自java.lang.Object finalize()方法的重写 权限(Access)需要是protected或者是public ,不能是private finalize()方法不需要显示地调用, 在垃圾回收(GC)时会被自动先行调用的. 据我测试,需要显示地调用垃圾回收方法(System.g

浅谈Java中的hashcode方法 - 海 子

浅谈Java中的hashcode方法 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现. 为何Object类需要这样一个方法?它有什么作用呢?今天我们就来具体探讨一下hashCode方法. 一.hashCode方法的作用 对于包含容器类型的程

Java中的native方法

博客引用地址:Java中的native方法 今天花了两个小时把一份关于什么是Native Method的英文文章好好了读了一遍,以下是我依据原文的理解. 一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口.一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C.这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编

java中的hashCode()方法

电话面试问到了HashMap里的类要实现什么方法,只知道是按哈希值查找所以查找效率很快,其它的一问三不知,现在来研究研究. 想研究研究,但是却不知道从哪里下手.... 汗!!!首先来咬文嚼字吧 什么是哈希值?百度了一下:哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值.哈希值是一段数据唯一且极其紧凑的数值表示形式... 还是看不出和java类有什么关系...以前学数据结构时哈希表(也叫做散列表)这章还是很重要的,关键是那个哈希映射的哈希函数,也就是哈希算法,根

java中‘==’和‘equals()’方法的有趣探索

这两天在看周志明的<深入理解java虚拟机>,受益颇多,根据书中的启示,对java中'=='和'equals()'方法的区别做了一些探索. 首先,为了更快地让进入状态,我们先来所几个判断题,例程如下,请判断各个System.out.println()输出的结果. <pre name="code" class="java"> public static void main(String[] args) { Integer a =1; Integ