[英]How can I make a generic DynamoDBTypeConverter to convert a List of enums into a list of strings ? [DynamoDB]
我的問題是如何制作實現 DynamoDBTypeConverter 的通用轉換器 class。 這個 class 需要與我提供的任何枚舉 class 一起使用。
這是我為該領域提供轉換器的地方:
@DynamoDBTypeConverted(converter = TypeConverter.class)
private List<Types> types;
這是我嘗試做的轉換器:
public class TypeConverter<T extends Enum<T> & OperationsEnums> implements DynamoDBTypeConverter<List<String>, List<T>> {
private final Class<T> type;
public TypeConverter(Class<T> typeClass){
this.type = typeClass;
}
@Override
public List<String> convert(List<T> object) {
var result = new ArrayList<String>();
object
.forEach(value -> result.add(value.toString()));
return result;
}
@Override
public List<T> unconvert(List<String> objectsString) {
var result = new ArrayList<T>();
objectsString
.forEach(value -> result.add(Enum.valueOf(type, value)));
return result;
}
}
如果他們有類似的問題,有人可以分享他們對這個問題的知識。 謝謝你。
由於@Convert
注釋的工作方式,您不能使用通用轉換器。 每個枚舉都需要一個通用轉換器的子類,它將枚舉 class 傳遞給超級構造函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.