有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

相当于Java中Groovy的DefaultGroovyMethods#aType(在第三方jar中)

我从对代码之外的API的调用中收到Map<String, Object>。 此映射可以包含各种类型的值(字符串、数字、日期、自定义对象等)

编辑: 由于一些非理性的原因,这些值有时存储为映射中的正确类型,但有时使用字符串表示。(因此,整数可以作为java整数或字符串找到。)

为了避免出现这样的代码:

Long numericValue = null;
Object val = map.get(key);
if(val!=null)  {
 numericValue = Long.parseLong(val.toString();
}

我想使用类似于Groovy的DefaultGroovyMethods#asType的东西来执行检查和内省,将数据转换为目标类型

有没有知名的轻量级图书馆(雅加达公共图书馆、番石榴馆等)提供了这种强大的转换


共 (1) 个答案

  1. # 1 楼答案

    我认为没有类似的功能,因为Groovy是动态语言,而Java是静态的。因此,在Groovy中使用asType()方法或as运算符是有意义的

    在Java中,每个类似的类型转换都需要使用大量反射

    Groovy使用了一些有用的内置函数。在Java中,您最有可能使用助手方法和您自己的自定义转换