java - java中构造TreeSet时没有定义类型参数怎么办?
问题描述
未定义类型参数时的预期结果是什么,例如以下代码 - 代码段 1:
java.util.Set set = new java.util.TreeSet();
set.add(2);
代码段 2:
java.util.Set set = new java.util.TreeSet();
set.add("2");
代码段 1 和 2 运行良好。代码段 3:
java.util.Set set = new java.util.TreeSet();
set.add("2");
set.add(3);
代码段 4:
java.util.Set set = new java.util.TreeSet();
set.add(2);
set.add("3");
代码段 3 和 4 分别失败并出现以下错误:
Exception in thread "main" java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Integer
Exception in thread "main" java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String
那么java是否将第一个添加作为集合的默认类型?另外,错误似乎很奇怪,不应该是代码段3的整数到字符串和代码段4的字符串到整数吗?
此外,如果未定义类型参数,其他集合会怎样?
解决方案
推荐阅读
- java - 无法在 Junit5 Mockito-inline 中以不同的行为模拟同一个类构造函数两次
- javascript - 为什么 useState 返回未定义?
- javascript - 带有空字符串、“任何”或“全部”的 Firestore 查询
- javascript - JavaScript 中的井字游戏
- flutter - 图像正在加载 chrome 但未在手机中加载
- swift - 当您在后台访问另一个应用程序时,Flora 和 Forest 应用程序如何知道?[迅速]
- google-cloud-platform - 每个月的第一个星期一的云调度程序触发
- python-3.x - nextflow 没有找到我所有的 python 模块
- javascript - 从 json 数组中检索所有匹配的值
- ios - 选择器未显示在列表中 | SwiftUI