做自己头像的网站,php 企业 网站,佛山网站建设及优化公司,html5手机wap网站模板课程标题:Map集合框架与泛型(15分钟)
目标:掌握泛型在Map中的键值类型约束,理解类型安全的键值操作,熟练使用泛型Map解决实际问题 0-1分钟:泛型Map的意义引入
以“字典翻译”类比泛型Map:明确键和值的类型(如英文→中文)。说明泛型Map的作用——确保键值对的类型一…
课程标题:Map集合框架与泛型(15分钟)
目标:掌握泛型在Map中的键值类型约束,理解类型安全的键值操作,熟练使用泛型Map解决实际问题 0-1分钟:泛型Map的意义引入
以“字典翻译”类比泛型Map:明确键和值的类型(如英文→中文)。说明泛型Map的作用——确保键值对的类型一致性,避免运行时类型错误。 1-3分钟:非泛型Map的隐患
演示原生Map的风险操作:
Map rawMap = new HashMap();
rawMap.put("age", 25);
rawMap.put(100, "非法键"); // 编译通过,但键类型混乱
String value = (String) rawMap.get("age"); // 运行时ClassCastException! 结论:原生Map允许任意类型键值,导致类型混乱和潜在错误。 3-5分钟:泛型Map的声明与操作
定义并操作类型安全的泛型Map:
MapString, Integer studentScores = new HashMap();
studentScores.put("Alice", 90);
// studentScores.put(100, "Bob"); // 编译报错!键值类型不匹配
int score = studentScores.get("Alice"); // 直接获取Integer,无需强制转换 核心规则:
键类型K和值类型V需在声明时明确类型不匹配的操作会被编译器拦截5-7分钟:泛型Map的遍历与类型安全
安全遍历键值对:
for (Map.EntryString, Integer entry : studentScores.entrySet()) { String name = entry.getKey(); // 直接获取String类型 int score = entry.getValue(); // 直接获取Integer类型 System