HashMap<int,String> map=new HashMap<int,String>(); 这行怎么错了?

问题描述

eclipse报错为: Syntax error on token "int", Dimensions expected after this token这个链接也有说明 :http://blog.csdn.net/dingherry/article/details/5944285, 但是说的不清楚. 为什么基本数据类型不行? 非要把int 改为integer?

解决方案

引用规则和限制  1、泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。   2、同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。   3、泛型的类型参数可以有多个。   4、泛型的参数类型可以使用extends语句,例如<T extends superclass>。习惯上称为“有界类型”。   5、泛型的参数类型还可以是通配符类型。例如Class<?> classType = Class.forName("java.lang.String");
解决方案二:
这属于编译器的规约,没什么好探讨的
解决方案三:
你看API的HashMap的构造方法是这么定义 K 和 V的你既然这么问,我问下我要是map里只放1个字符,那你为什么不写char!写什么String什么是基本类型,什么是对象类型! 你搞清楚了再说,这问题真有劲!
解决方案四:
HashMap<K,V>必须是对象类型的,但是你put的时候可以放入int类型,它内部会把基本类型转换成对应的包装类型

时间: 2024-09-16 23:59:42

HashMap&amp;lt;int,String&amp;gt; map=new HashMap&amp;lt;int,String&amp;gt;(); 这行怎么错了?的相关文章

c++ map为什么 明明定义的是string ,item.first却是unsigned int

问题描述 c++ map为什么 明明定义的是string ,item.first却是unsigned int std::map > map; std::vector v; v.push_back(1); v.push_back(2); v.push_back(3); map["onesssss"] = v; for (const auto& temp:map) { //cout << temp.first<< endl; printf("

JAVA提高教程(12)-认识Map之HashMap

Map里面使用率最多的,应该是HashMap吧,我们先来看看这个 1.package collection.lession12; 2. 3.import java.util.HashMap; 4.import java.util.Iterator; 5.import java.util.Map; 6. 7./** 8. * 老紫竹JAVA提高教程(12)-认识Map之HashMap<br> 9. * 基于哈希表的 Map 接口的实现.<br> 10. * 一个映射不能包含重复的键:

Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)

概要 学完了Map的全部内容,我们再回头开开Map的框架图.   本章内容包括:第1部分 Map概括第2部分 HashMap和Hashtable异同第3部分 HashMap和WeakHashMap异同 转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311126   第1部分 Map概括 (01) Map 是"键值对"映射的抽象接口.(02) AbstractMap 实现了Map中的绝大部

字符-jdk1.5 String类型的表达式 计算结果转换成Int

问题描述 jdk1.5 String类型的表达式 计算结果转换成Int String str = "3*5+5"; JDK1.5 有没有什么函数可以计算str然后放入int? 还是得字符截取一步一步来? 感谢各位大神的回复.不能全部采纳实属无奈.所以从逻辑严谨的角度,采纳同时回答两个问题的回复.再次感谢 解决方案 没有,自己看一下后缀表达式算法,参考下面链接http://www.cnblogs.com/gmq/archive/2013/05/30/3108849.html 解决方案二:

用java打印出数组中不同的元素,比如int[] a=new[]{2,4,5,6,3}和int[] b=new[]{1,4,8,6,9}哪位大侠能帮我!急!

问题描述 用java打印出数组中不同的元素,比如int[]a=new[]{2,4,5,6,3}和int[]b=new[]{1,4,8,6,9}/*结果输出1,8,9**/ 解决方案 解决方案二:publicclassTest{publicstaticvoidmain(String[]args){intnumA[]={2,4,5,6,3};intnumB[]={1,4,8,6,9};LinkedList<Integer>difNumList=newLinkedList<Integer>

既然float不能表示所有的int,那为什么在类型转换时C++将int转换成float?

既然float不能表示所有的int,那为什么在类型转换时C++将int转换成float? 问题: 代码如下: int i = 23; float f = 3.14; if (i == f) // 执行某段代码 编译器会将i转换成float类型,然后比较这两个float的大小,但是float能够表示所有的int吗?为什么没有将int和float转换成double类型进行比较呢? 回答: 在整型数的演变中,当int变成unsigned时,会丢掉负数部分(有趣的是,这样的话,0u < -1就是对的了)

Map&amp;amp;lt;String,String&amp;amp;gt; rm=new HashMap&amp;amp;lt;String,String&amp;amp;gt;(2)这个2是什么意思?

问题描述 如题了,请问一下这个2干嘛的?有他没有他有啥不同? 解决方案 解决方案二:HashMappublicHashMap(intinitialCapacity)构造一个带指定初始容量和默认加载因子(0.75)的空HashMap.参数:initialCapacity-初始容量.抛出:IllegalArgumentException-如果初始容量为负.解决方案三:publicstaticMap<String,ERPOrgCorp>toCorpMap(List<ERPOrgCorp>

浅析Java中Map与HashMap,Hashtable,HashSet的区别_java

HashTable和HashMap区别 第一,继承的父类不同.Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类.但二者都实现了Map接口. 复制代码 代码如下: public class Hashtable<K,V>extends Dictionary<K,V>implements Map<K,V>, Cloneable, Serializable public class HashMap<K,V>extends

做个函数 ,实现数组插入功能,返回类型 String数组,参数2个,第一个String(被插入的对象),第二个int参数(数组被插入的位置)

问题描述 要求:i.适应各种情况的参数,保证你的函数,不会因参数的内容在运行时出现任何异常. 解决方案 解决方案二:你都定死了参数是String类型,啥叫保证各种情况参数?解决方案三:...好吧,我没看仔细,那个是被插入的对象