java generic String to <T> parser

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接口(或等效的)的对象,实现将是微不足道的,但我还没有找到任何这样的东西.我还没有找到使用反射的功能实现.

Bal*_*usC 7

只有当你提供Class<T>另一个论点时才有可能.它T本身不包含有关所需返回类型的任何信息.

static <T> T fromString(String input, Class<T> type, T defaultValue)
Run Code Online (Sandbox Code Playgroud)

然后你可以计算出类型type.在这篇博客文章中可以找到一个具体的例子.

  • 是的,除非API要求`defaultValue`为非null,否则将需要该类型. (2认同)