笔记(七):Objecct类中toString()和equals方法的使用

Object类中常见方法——toString(),equals()使用

package com.tedu.obj;

/**
 * Object类是所有类的顶级父类
 * Object类中也定义了一些方法
 * toString:将当前对象转换为字符串
 * equals:
 * 这些方法被我们直接调用的机会不多,但是我们使用的
 * 这些API常常会自动调用他们,为了更好的使用
 * 我们通常会重写这俩方法
 * @author Wildmess
 *
 */
public class Point {
		private int x,y;

		//Alt+Shift+S	o	构造器	快捷键
		public Point(int x, int y) {
			super();
			this.x = x;
			this.y = y;
		}

		public int getX() {
			return x;
		}

		public void setX(int x) {
			this.x = x;
		}

		//Alt+Shift+S	R	属性
		public int getY() {
			return y;
		}

		public void setY(int y) {
			this.y = y;
		} 
		
		/* 
		 * 重写Object类中的toString方法
		 * 返回统一格式的x轴和y轴坐标值输出
		 * 
		 * 返回的字符串没有统一的格式要求,可以结合
		 * 实际需求而定,原则上返回的字符串应当包含
		 * 当前对象的属性信息
		 * */
		public  String toString() {
			return ("("+ x + " ," + y + ")");
		}

		
		/*
		 * equals方法是Object定义的方法,该方法的意义是比较两个对象
		 * 的内容是否相同
		 * Object内部的比较实现是通过“==”实现的,所以没有实际意义
		 * 因此,如果我们需要比较俩个对象内容是否相同就应该重写该方法
		 * 如这里比较俩个点是否为同一个点
		 */
		public boolean equals(Object obj) {
			//如果这个点和要比较的点引用相同
			if (this == obj)
				return true;
			//如果这个点是空的
			if (obj == null)
				return false;
			//先转成Ponint对象,以进行比较
			Point other = (Point) obj;
			//判断点的x坐标
			if (x != other.x)
				return false;
			//判断点的y坐标
			if (y != other.y)
				return false;
			return true;
		}		
}

代码测试

package com.tedu.obj;

import java.util.Arrays;

/**
 * 测试Point类中方法
 * @author Wildmess
 *
 */
public class TestPoint {

	public static void main(String[] args) {
		Point p = new Point(100,220);
		String str = p.toString();
		System.out.println(str);
		
		/*
		 * Array.toString方法也会调用元素的toString
		 * 方法作为展示元素内容使用
		 */
		Point[] arr = {new Point(100,200),
				new Point(100,210),
				new Point(100,220),
				new Point(100,230),
				new Point(100,240)
		};
		String line = Arrays.toString(arr);
		System.out.println(line);
		
		Point p0 = new Point(100,220);
		System.out.println(p == p0);//false
		System.out.println(p.equals(p0));//true
		}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值