Ste*_*n D 3 java spring set javabeans neo4j
我正在尝试将一个bean转换LinkedHashSet
成一个EnumSet
.这是必需的,因为Neo4j需要针对这种情况的转换类.到目前为止,我已经实现了这个类:
public class LinkedHashSetToEnumSet implements Converter<LinkedHashSet<Access>, EnumSet<Access>> {
@Override
public EnumSet<Access> convert(LinkedHashSet<Access> h) {
EnumSet<Access> e = new EnumSet<Access>(); // error here
// Somehow do a for loop to add all of e to h?
return e;
}
}
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,我有错误的注释行// error here
:
Cannot instantiate the type EnumSet<Resource.Access>
有没有一些简单的事情,我在这里缺少创建一个EnumSet
?
编辑:
有可能将a HashSet
转换为EnumSet
?
Ósc*_*pez 10
错误很明显:EnumSet
没有构造函数,创建一个的唯一方法是使用类中的静态方法,它们接收实际的枚举值.如果您需要创建EnumSet
包含a中所有元素的内容LinkedHashSet
,请尝试以下方法:
public EnumSet<Access> convert(LinkedHashSet<Access> h) {
return EnumSet.copyOf(h)
}
Run Code Online (Sandbox Code Playgroud)
我认为没有必要为此设置类和方法,只需copyOf()
在必要时调用并作为参数传递任何Collection
枚举值.