Java - 是否有“可转换”界面?

时间:2014-06-21 19:33:57

标签: java interface

是否有现有的接口(或抽象类)允许您定义两种不同类型之间的转换? 您可以实现(或扩展)它,例如,您可以在FooBar之间进行转换。

示例界面:

public interface ConvertibleInterface<T, U> {
    public U to(T item);
    public T from(U item);
}

我只是想知道java系统库中是否存在这样的东西。

1 个答案:

答案 0 :(得分:5)

您可以使用新的Function<T, U>类型来定义可以转换为给定类型的内容:

Function<String, Integer> toInt = (String in) -> Integer.parseInt(in);
Function<Integer, String> toString = (Integer in) -> in.toString();

Integer converted = toInt.apply("101");

请参阅API docs here。这已在Java 8中添加,因此请确保您是最新的。