Groovymap 集合 ( map 集合定义 | 通过 getClass 函数获取 map 集合的类型 | 代码示例 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Groovymap 集合 ( map 集合定义 | 通过 getClass 函数获取 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

以上是关于Groovymap 集合 ( map 集合定义 | 通过 getClass 函数获取 map 集合的类型 | 代码示例 )的主要内容,如果未能解决你的问题,请参考以下文章

Groovymap 集合 ( map 集合遍历 | 使用 map 集合的 each 方法遍历 map 集合 | 代码示例 )

Groovymap 集合 ( map 集合遍历 | 使用 map 集合的 find 方法遍历 map 集合 | 代码示例 )

Groovymap 集合 ( map 集合操作符重载 | + 操作符重载 | 代码示例 )

Groovymap 集合 ( map 集合操作符重载 | *. 展开操作符 | 代码示例 )

Groovymap 集合 ( map 集合操作符重载 | - 操作符重载 | 代码示例 )

Groovymap 集合 ( map 集合操作符重载 | 使用 << 操作符添加一个元素 | 代码示例 )