代码之家  ›  专栏  ›  技术社区  ›  Jack BeNimble

groovy/grails如何确定数据类型?

  •  157
  • Jack BeNimble  · 技术社区  · 16 年前

    在groovy中确定数据类型的最佳方法是什么?

    如果是日期等,我想改变输出格式。

    5 回复  |  直到 9 年前
        1
  •  219
  •   Dónal    16 年前

    要确定对象的类,只需调用:

    someObject.getClass()
    

    你可以把这个缩写成 someObject.class 在大多数情况下。但是,如果您在 Map 它将尝试检索键为“class”的值。因为这个,我总是用 getClass() 即使时间再长一点。

    如果要检查对象是否实现特定接口或扩展特定类(例如日期),请使用:

    (somObject instanceof Date)
    

    或者检查对象的类是否 确切地 一个特定的类(不是它的子类),使用:

    (somObject.getClass() == Date)
    
        2
  •  29
  •   Michal Zmuda    12 年前

    检查对象类型的简单groovy方法:

    somObject in Date
    

    也可以应用于接口。

        3
  •  3
  •   Pops Atula    16 年前

    只需在唐的答案中添加另一个选项,您还可以使用好的旧选项 java.lang.Object.getClass() 方法。

        4
  •  0
  •   Dónal    9 年前

    您可以使用成员资格运算符iscase(),这是另一种groovy方法:

    assert Date.isCase(new Date())
    
        5
  •  -19
  •   cdeszaq Sudhir N    13 年前

    somObject instanceof Date

    应该是

    somObject instanceOf Date