0

我需要某种 Converter-Mapper 并且没有想出任何好主意,如何轻松地使用特殊转换器附加枚举。我尝试了以下方法:

//ConverterInterface:
public interface PropertyConverter<T>
{
  public String convertObjectToString( T object );

  public T convertStringToObject( String string );
}

//Concrete Converter
public class FooConverter implements PropertyConverter<Foo>
{

  @Override
  public String convertObjectToString( Foo object )
  {
    throw new UnsupportedOperationException( "Not implemented yet." );
  }

  @Override
  public Foo convertStringToObject( String string )
  {
    throw new UnsupportedOperationException( "Not implemented yet." );
  }
}

//Dataclass
public class Foo
{
}

Boo 也是如此,这里是枚举,我想将转换器附加到特定类型:

public enum PropEnum
{
  BOO(new BooConverter()),

  FOO(new FooConverter());

  PropertyConverter<?> converter;

  private PropEnum( PropertyConverter<?> converter )
  {
    this.converter = converter;
  }

  public PropertyConverter<?> getConverter()
  {
    return converter;
  }
}

但是由于我的 PropertyConverter 使用通配符,当我像下面这样使用它时,我只得到对象到字符串和字符串到对象方法而不是具体类型,例如 Foo 到字符串和字符串到 Foo:

枚举转换器

有没有办法从转换器实现中接收具体类型?

4

0 回答 0