文章目录
一、map 集合定义
二、获取 map 集合类型
三、代码示例
一、map 集合定义
声明键值对 , 其中 键 Key 可以 不使用引号 , 可以 使用单引号 ‘’ , 也可以 使用双引号 “” ;
// 创建键值对 // 键 Key 可以不使用引号 , 可以使用单引号 '' , 也可以使用双引号 "" def map = [J:"Java", "K":"Kotlin", 'G':"Groovy"]
上述创建的 map 集合是 java.util.LinkedHashMap 类型的集合;
二、获取 map 集合类型
之前的博客 【Groovy】集合声明与访问 ( 使用 [] 创建 ArrayList 和 LinkedList 集合 | 集合赋初值 | 使用下标访问集合 | 使用 IntRange 作为下标访问集合 ) 中 , List 集合可以直接使用 .class 方式 , 获取集合的类型 ;
map 集合 不能直接使用 .class 的方式获取类型 , map 变量通过 .class 方式取值 , 代码是绿色的 , 这里将 class 当做了 map 集合的键 , 调用 map.class 是获取 键 class 对应的 值 的 ;
如果要获取 map 变量的类型 , 必须 使用 getClass() 方法 ;
三、代码示例
代码示例 :
class Test { static void main(args) { // 创建键值对 // 键 Key 可以不使用引号 , 可以使用单引号 '' , 也可以使用双引号 "" def map = [J:"Java", "K":"Kotlin", 'G':"Groovy"] // map 变量的 class 是绿色的 // 这里的用法是一种取值方式 , 系统将 class 当做了键值 // map 类型的集合不能使用 .class 方式获取类型 // 必须使用 getClass() 函数 , 获取当前变量类型 println map.class // 获取键 class 对应的值 println map.getClass() // 获取变量类型 } }
执行结果 : 第一次调用 map.class 代码 , 获取键 class 对应的值 , 没有定义该键 Key , 肯定获取不到数据 , 返回 null ; 第二次调用 map.getClass() , 获取的是 map 集合的类型 java.util.LinkedHashMap ;
null class java.util.LinkedHashMap