增加淘宝群内容,修改部分文件组织
此提交包含在:
@@ -0,0 +1,26 @@
|
||||
package com.mj.model;
|
||||
|
||||
public class Key {
|
||||
protected int value;
|
||||
|
||||
public Key(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return value / 10;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) return true;
|
||||
if (obj == null || obj.getClass() != getClass()) return false;
|
||||
return ((Key) obj).value == value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "v(" + value + ")";
|
||||
}
|
||||
}
|
@@ -0,0 +1,43 @@
|
||||
package com.mj.model;
|
||||
|
||||
public class Person implements Comparable<Person> {
|
||||
private int age; // 10 20
|
||||
private float height; // 1.55 1.67
|
||||
private String name; // "jack" "rose"
|
||||
|
||||
public Person(int age, float height, String name) {
|
||||
this.age = age;
|
||||
this.height = height;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
/**
|
||||
* 用来比较2个对象是否相等
|
||||
*/
|
||||
public boolean equals(Object obj) {
|
||||
// 内存地址
|
||||
if (this == obj) return true;
|
||||
if (obj == null || obj.getClass() != getClass()) return false;
|
||||
// if (obj == null || !(obj instanceof Person)) return false;
|
||||
|
||||
// 比较成员变量
|
||||
Person person = (Person) obj;
|
||||
return person.age == age
|
||||
&& person.height == height
|
||||
&& (person.name == null ? name == null : person.name.equals(name));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hashCode = Integer.hashCode(age);
|
||||
hashCode = hashCode * 31 + Float.hashCode(height);
|
||||
hashCode = hashCode * 31 + (name != null ? name.hashCode() : 0);
|
||||
return hashCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(Person o) {
|
||||
return age - o.age;
|
||||
}
|
||||
}
|
@@ -0,0 +1,10 @@
|
||||
package com.mj.model;
|
||||
|
||||
public class Student extends Person {
|
||||
|
||||
public Student(int age, float height, String name) {
|
||||
super(age, height, name);
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,17 @@
|
||||
package com.mj.model;
|
||||
|
||||
public class SubKey1 extends Key {
|
||||
|
||||
public SubKey1(int value) {
|
||||
super(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) return true;
|
||||
if (obj == null ||
|
||||
(obj.getClass() != SubKey1.class
|
||||
&& obj.getClass() != SubKey2.class)) return false;
|
||||
return ((Key) obj).value == value;
|
||||
}
|
||||
}
|
@@ -0,0 +1,17 @@
|
||||
package com.mj.model;
|
||||
|
||||
public class SubKey2 extends Key {
|
||||
|
||||
public SubKey2(int value) {
|
||||
super(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) return true;
|
||||
if (obj == null ||
|
||||
(obj.getClass() != SubKey1.class
|
||||
&& obj.getClass() != SubKey2.class)) return false;
|
||||
return ((Key) obj).value == value;
|
||||
}
|
||||
}
|
新增問題並參考
封鎖使用者