你好,我试图用Java语言创建一个TreeMap,但是编译器给出的错误是“意外的类型”。有人能告诉我为什么吗?Map中不可能有原始数据类型吗?
我确实通过使用java.lang.Boolean解决了这个问题。但是我不明白为什么我不能混合复杂数据类型和原始数据类型。
发布于 2011-11-04 02:22:31
为了回答你的问题,
被视为集合的映射和其他类不仅用于存储数据,而且还提供用于比较的方法。在java中,比较器也用于同样的目的。简而言之,您需要在要比较的对象上调用方法。如果值是原始数据类型,则不能对其调用任何方法。这正是原始数据类型不允许在集合和相关类中使用的主要原因之一。
希望这能有所帮助
发布于 2011-11-04 02:19:30
在映射中不能有原始数据类型吗?
不,不是。试试<String, Boolean>。
发布于 2011-11-04 02:26:22
,但是我不明白为什么我不能混合复杂数据类型和原始数据类型。
它不是关于混合复杂的数据类型和原始类型。
原因是Java Collection Framework中没有一个类被设计为支持原语类型。
如果您需要在集合框架中使用任何原始类型,则必须使用相应的包装器类。例如,用于int的Integer ...
仅数组支持基元类型。
https://stackoverflow.com/questions/7999906
复制相似问题