JAVA常用的类和方法复习

1、随机数

	public static void main(String[] args) {
		//Math.random()会得到一个0-1之间double类型的值
		System.out.println(Math.random());
		//获取[0-9]之间的整数
		System.out.println((int)(Math.random()*10));
		for(int i=0;i<100;i++) {
			System.out.println(randomRange(18,28));
		}
	}
	
	//获取两个数之间的随机数
	public static int randomRange(int start,int end) {
		return (int)(Math.random()*(end-start)+start);
	}

2、Object:所有类都默认继承Object

    2.1、toString()方法

        当输出对象时会自动调用该对象的toString()方法打印信息,如果希望按照自己的需求进行对象信息的显示,可以在子类中覆盖父类的toString()方法。

    

		System.out.println(p2.toString());
		//说明输出对象的时候,会自动调用对象的toString()方法
		//输出id:XXX,name:XXX,直接在子类中覆盖toString()方法即可
		System.out.println(p);


class Person {
	int id;
	String name;
	
	public Person(int id, String name) {
		super();
		this.id = id;
		this.name = name;
	}

	@Override
	public String toString() {
		return "id:"+id+",name:"+name;
	}

    2.2、equals()

        使用equals()方法可以比较两个对象是否相等,如果子类没有覆盖父类的equals()方法,会默认调用==进行比较。

    

		String str3 = new String("456");
		String str4 = new String("456");
		//==表示两个引用是否指向同一块内存
		System.out.println(str3==str4);
		//比较两个字符串的值是否相等
		//String可以通过equals()比较两个对象的内容是否相等,是因为
		//String覆盖了父类的equals()方法
		System.out.println(str3.equals(str4));

class Person {
	int id;
	String name;
	
	public Person(int id, String name) {
		super();
		this.id = id;
		this.name = name;
	}

	@Override
	public String toString() {
		return "id:"+id+",name:"+name;
	}

	@Override
	public boolean equals(Object obj) {
		Person person = (Person)obj;
		return this.id==person.id;
	}

    比较两个对象是否相等,首先需要覆盖equals()方法还要覆盖hashCode()方法。

    

	@Override
	public boolean equals(Object obj) {
		Person person = (Person)obj;
		//return this.id==person.id;
		//判断name相同两个person对象就相同
		return this.name.equals(person.name);
	}

	@Override
	public int hashCode() {
		//return id;
		return name.hashCode();
	}

 

你可能感兴趣的:(JAVA常用的类和方法)