先看代码:importjava.util.HashMap;importjava.util.Map;classStudent{privateStringname;privateintage;publicStudent(){}publicStudent(Stringname,intage){this.age=age;this.nam...
先看代码:
import java.util.HashMap;
import java.util.Map;
class Student{
private String name;
private int age;
public Student(){
}
public Student(String name,int age){
this.age = age;
this.name = name;
}
}
public class Test {
public static void main(String[] args) {
Map map = new HashMap();
Student stu1 = new Student("张三",20);
Student stu = new Student("张三",20);
Student stu2 = new Student("李四",22);
Student stu3 = new Student("王五",23);
map.put(stu1,"学生张三");
map.put(stu2,"学生李四");
map.put(stu3,"学生王五");
String s = map.get(stu);
System.out.print(s);
}
}
上面代码输出结果是null,其实我是想输出”学生张三“。上面map的key可以设置为student类型,但是也产生一个问题,就是在执行get操作的时候,相同的内容,不同的对象,get出来的结果是不一样的。上面的stu和stu1虽然是不同对象,但是内容是一样的,如果我想在map.get(stu)的时候也输出”学生张三“(在没有把stu put进map里面的前提下),大神们可有什么办法不?
展开