import java.util.HashMap;
import java.util.Map; public class MapTest { public static void main(String[] args) {
Map map = new HashMap();
map.put("one", 1);
func(map);
} public static void func(Map<String, String> map) {
System.out.println(map.get("one"));
} }

如上代码运行报:Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String

原因:func方法在编译时,println方法默认用的是:

public void println(String x) {
synchronized (this) {
print(x);
newLine();
}
}

println的入参是String类型,这是根据func方法的入参Map<String, String> map推断而来的。

main函数中的map没有提供类型参数,默认是Map<Object,Object>,虽然实际是Map<String,Integer>,但传给func是不会报错的。

println虽然有无数个重载版本,也有int的入参,但这里却被编译器限死了只能用String的入参,导致报ClassCastException。

最新文章

  1. jQuery方法position()与offset()区别
  2. xcopy中提示“无效的参数数量”的解决方法
  3. easyui.combotree.search.js
  4. xcode4.5应用程序本地化
  5. GridView布局及适配器优化
  6. oracle数据泵之解决方案(用户)导入导出。
  7. JAVA发送邮件的DEMO
  8. 九、 Spring Boot 拦截器
  9. [Apio2010] 巡逻
  10. Mybatis插件机制以及PageHelper插件的原理
  11. Logistic回归计算过程的推导
  12. WebApi实现验证授权Token,WebApi生成文档等(转)
  13. etcd-v2第二集
  14. Shell脚本 | 性能测试之内存
  15. Unity Package Manager Error的解决方案
  16. shell中交互输入自动化
  17. golang的json操作[转]
  18. linux 提示符绝对路径
  19. mysql客户端(Navicat)远程登录操作遇到问题1142 - XXX command denied to &#215;&#215;&#215;
  20. VS2012/2013引用对话框的糟糕设计

热门文章

  1. GitHub-Tech-DotNet:Cnblogs
  2. 2019-8-13未命名文件 sdfsdfsdfsdfsdfsdf
  3. struts数据回显
  4. 虚拟化技术原理(CPU、内存、IO)
  5. 学习前端第二天心得体会(初步了解HTML5的部分API以及画布Canvas)
  6. gl-transitions 【68个转场效果图】
  7. if、elif 条件判断
  8. k8s报错解决
  9. java:zookeeper集群配置,dubbo
  10. CentOS 安装jdk 1.8