首页 > 代码库 > JAVA Hashmap不能用基本的数据类型

JAVA Hashmap不能用基本的数据类型

今天开始学习Java。。。

转载:http://moto0421.iteye.com/blog/1143777

今天试了一下HahsMap,
采用如下形似定义
(这个下面是用了csdn的一位同仁的文章,仅作为讲解参考,请见谅)
  1. HashMap<int,String> map=new HashMap<int,String>();  
  2. map.put(1,"a");  
  3. map.put(2,"b");  
  4. map.put(1,"aq");  
  5. System.out.println(map.get(0));  
  6. System.out.println(map.get(1));  
  7. System.out.println(map.get(2));  

 

报错:Syntax error on token "int", Dimensions expected after this token

 

原因:引用类型原始类型没有搞清楚!

Java 提供两种不同的类型:引用类型原始类型(或内置类型)Intjava的原始数据类型,Integerjavaint提供的封装类。Java为每个原始类型提供了封装类。

原始类型   封装类

boolean      Boolean

char           Character

byte           Byte

short          Short

int              Integer

long           Long

float           Float

double      Double

引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。

 
  1. HashMap<Integer,String> map=new HashMap<Integer,String>();  
  2. map.put(1,"a");  
  3. map.put(2,"b");  
  4. map.put(1,"aq");  
  5. System.out.println(map.get(0));  
  6. System.out.println(map.get(1));  
  7. System.out.println(map.get(2));