newinteger.java

来自「主要是java书上的一些代码」· Java 代码 · 共 90 行

JAVA
90
字号

/*
public class NewInteger{
	//声明变量
  	int value;
	
	public static void main(String[] args){
		NewInteger obj1 = new NewInteger();
		obj1.value = 100;
		
		NewInteger obj2 = new NewInteger();
		obj2.value = 60;
		
		System.out.println(obj1.value == obj2.value);
	}
}


final public class NewInteger{
	//将变量设为私有
  	private int value;
	
	//利用构造方法参数对变量赋值
	public NewInteger(int value){
		this.value=value;
	}
	
	//利用intValue获取值
	public int intValue(){
		return value;
	}

	//直接仿照JDK中Integer类的equals方法设计
	public boolean equals(Object obj){
		if  (obj instanceof NewInteger){
			return value==((NewInteger)obj).intValue();
		}
		return false;
	}
	
	//用作调试,发布时去掉
	public static void main(String[] args){
		NewInteger obj1 = new NewInteger(100);
		NewInteger obj2 = new NewInteger(60);
		
		System.out.println(obj1.equals(obj2));
	}
}
*/
//*
final public class NewInteger{
	//将变量设为私有
  	private int value;
	
	//利用构造方法参数对变量赋值
	public NewInteger(int value){
		this.value=value;
	}
	
	//利用intValue获取值
	public int intValue(){
		return value;
	}
	
	//适合于同类型(需要转型)比较和不同类型比较,
	public boolean equals(Object obj){	
		try{
			//直接做转型做同类型比较
			return value==((NewInteger)obj).intValue();
		}catch(ClassCastException e){
			//利用catch子句对类型不符情况进行处理
			return false;
		}
	}
		
	//设计重载equals方法:在大多数情况下为同类型(不需要转型)比较,增加此方法以减少开销
	public boolean equals(NewInteger obj){
		return value==obj.intValue();
	}
	
	//用作调试,发布时去掉
	public static void main(String[] args){
		NewInteger obj1 = new NewInteger(100);
		NewInteger obj2 = new NewInteger(60);
		
		System.out.println(obj1.equals(obj2));
	}
}

//*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?