扫码关注官方订阅号
闭关修行中......
所以问题是?
public Map<String, Student> students; 你定义的String-Student对,又问为什么可以这样?
看了题主与一楼的评论和回复,补充一点,类本身也是一种数据类型啊,只是不叫基本数据类型。同意一楼观点,题主定义的是Map<String,Student>,代码那样子写自然是顺理成章咯
是的,正如一楼所说的,你是这样定义的:
public class MapTest { //用来承装学生类型对象 public Map<String, Student> students; //在构造器中初始化students属性 public MapTest() { this.students = new HashMap<String, Student>(); }
当然使用students.put(ID, newStudent);来存放值了。你的ID是String类型对应key,newStudent是Student类型的,对应你定义的值。
students.put(ID, newStudent);
你定义了Map来存放Student,Map是键-值存放类型的,即<key,value>,你定义了key是String类型的,value是Student类型的,所以你后面的代码相对应会这样插入相应的类型,而你说的最后得到了name,是不是说控制台打印了name?如果是的话,那是因为你用了Map.get(key)获得了一个Student类型的value,然后又访问了name属性,有错误欢迎指正~
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
所以问题是?
public Map<String, Student> students;
你定义的String-Student对,又问为什么可以这样?
看了题主与一楼的评论和回复,补充一点,类本身也是一种数据类型啊,只是不叫基本数据类型。同意一楼观点,题主定义的是Map<String,Student>,代码那样子写自然是顺理成章咯
是的,正如一楼所说的,你是这样定义的:
当然使用
students.put(ID, newStudent);来存放值了。你的ID是String类型对应key,newStudent是Student类型的,对应你定义的值。你定义了Map来存放Student,Map是键-值存放类型的,即<key,value>,你定义了key是String类型的,value是Student类型的,所以你后面的代码相对应会这样插入相应的类型,而你说的最后得到了name,是不是说控制台打印了name?如果是的话,那是因为你用了Map.get(key)获得了一个Student类型的value,然后又访问了name属性,有错误欢迎指正~