老师帮忙看一下,为什么移除key值会报错呀
来源:4-2 Map实现类—HashMap与LinkedHashMap的区别
王大力牛批
2022-10-25 01:13:11
public class HashMapSample {
public static void main(String[] args) {
HashMap<String,Object> student=new HashMap<>();//创建对象<key,value>
student.put("name","王大力");//put()添加方法
String name=(String) student.put("name","张达");
System.out.println(name+"已被替换为张达");
student.put("age","24");
student.put("weigth","75");
student.put("heigth","175");
System.out.println(student);
String n=(String) student.get("name");//get()获取指定key值
System.out.println(n);
Boolean k=student.containsKey("name");//containsKey判断key是否存在 返回值是布尔类型
Boolean v=student.containsValue("name");//containsValue判断Value是否存在 返回值是布尔类型
Boolean k1=student.containsKey("nam");//查询是否有这个key 返回值是布尔类型
System.out.println(k);
System.out.println(k1);
Integer r= (Integer)student.remove("weigth");//remove 移除key值
System.out.println("已经移除"+r);
}
}
1回答
好帮手慕小脸
2022-10-25
同学你好,根据上述异常信息得知:是因为类型转换错误,不能将String类型转化成Integer类型,这里同学可直接返回Object类型,或修改泛型为String,参考代码如下:


祝学习愉快~
相似问题
回答 1
回答 1