本帖最后由 Oo不弃 于 2015-2-11 18:42 编辑
先看代码:- import java.util.HashMap;
- import java.util.Map;
- import com.wgh.model.Goods;
- 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<Student,String> map = new HashMap<Student,String>();
- 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里面的前提下),大神们可有什么办法不?
|