概述
昨天晚上做项目。自定义了一个Freemarker标签。 通过map.get(k)获取参数的时候。返回值为Object 类型。想着使用强制转换应该是能够 转为我想要的类型的。后来发现报错了。
报错信息就是SimpleScalar 类型无法转换为String.
自定义模版是要实现这个 TemplateDirectiveModel
类的
发现这个方法 里面的Map 也没有指定 返回的value 泛型
然后我看了下 下SimpleScalar
的代码。
解决方案
通过 将 map.get(k)
获取到的 object 类型 强制转换为 SimpleScalar 通过 getAsString 或者 toString
方法来获取 value值。然后再进行转换就可以啦!
getAsString
也是可以的