cqc*_*law 8 java generics string-parsing
是否有直接的方法来实现具有以下签名的方法?至少,实现需要处理原始类型(例如Double和Integer).非原始类型将是一个很好的奖金.
//Attempt to instantiate an object of type T from the given input string
//Return a default value if parsing fails
static <T> T fromString(String input, T defaultValue)
Run Code Online (Sandbox Code Playgroud)
对于实现FromString接口(或等效的)的对象,实现将是微不足道的,但我还没有找到任何这样的东西.我还没有找到使用反射的功能实现.
只有当你提供Class<T>
另一个论点时才有可能.它T
本身不包含有关所需返回类型的任何信息.
static <T> T fromString(String input, Class<T> type, T defaultValue)
Run Code Online (Sandbox Code Playgroud)
然后你可以计算出类型type
.在这篇博客文章中可以找到一个具体的例子.