我正在寻找interface
,它接受一种类型的通用Object
,并返回另一种类型。实际上,它会对提供的值执行一种转换或解释。
我可以轻松创建一个类,如下所示:
public interface IConverter<T, U> {
/** Converts the @param pT to one of type U. */
U convert(final T pT);
}
但是,我不想重新发明轮子!
Java 7中是否存在我应该使用的现有类?
修改
我应该强调,要执行的转换完全取决于特定于上下文,并且它不必真正关注关于类中的基础数据;它可以是任意的。
想象一下我想提供Object
的用户友好描述的用例。在此,我想提供Object
个实例与String
,之间的翻译,而覆盖toString()
。
答案 0 :(得分:1)
Java 8引入了Lambda表达式,并通过java.util.function.Function<R, T>
的匿名实例实现它们,提供方法R apply(T t)
。
答案 1 :(得分:1)
可能有更多方法可以做到这一点,但根据我的实践,我使用ObjectMapper将一个对象转换为另一个对象。
import com.fasterxml.jackson.databind.ObjectMapper;
//then declear the ObjectMapper variable
ObjectMapper mapper = new ObjectMapper();
//In your method where you want to convert object just write below code.
mapper.convertValue(T, U.class);
希望这能解决您的使用案例。
答案 2 :(得分:0)
对于大多数常见格式,有许多转换器:
答案 3 :(得分:0)
如果您受到Java 7的限制,则可以包含Guava library,它提供与Java 8中类似的Functional interface semantics。