话归正传,对于HashMap类来说,我发现Java中的类和C的结构体很像啊!我在学这个类的get方法时,在写那个Object user = new User();//创建一个对象之前写的是User user = new User();结果一直错误!后面发现是因为这个地方只能创建一个对象而不是用User去创建一个实例。这会不会也在隐约告诉我对象和实例的区别呢??有待思考!
package com.xuexi.MyHashMap; import java.util.Scanner; import java.util.HashMap; public class MyHashMap { public static void main(String[] args) { HashMap map = new HashMap(); for(int index=1;index<=3;index++) { User user = new User(); user.setName("user"+index); user.setPassword("1313"); map.put("u-"+index, user);////将用户对象保存在map中,并设置key为:u-序号 } Scanner scanner = new Scanner(System.in); System.out.println("请输入用户编号:"); String key = scanner.nextLine(); Object user = new User();//创建一个对象 user = map.get(key);//取得相应键值的对象 if(user !=null) //如果对象存在 {//如果有对应key的用户信息,输出信息 System.out.println(user); } else { System.out.println("没有编号为【"+key+"】的用户信息。"); } } } class User { private String username; private String password; public String getUserame() { return username; } public void setName(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String toString() {//重写toString方法,输出用户信息 return "User [username=" + username + ", password=" + password + "]"; } }