NebulaGraph Java客户端:如何将long类型转换为ValueWrapper?
解决方法
你可以使用Nebula Graph Java客户端提供的LongValue类(它是ValueWrapper的实现类),将long类型的rank值包装成ValueWrapper对象,就能正常存入Map中了。
修改后的代码如下:
// 获取关系原属性Map Map<String, ValueWrapper> props = ((Relationship) value).properties(); // 添加srcVid、dstVid和包装后的rank props.put("srcVid", ((Relationship) cvtedValue).srcId()); props.put("dstVid", ((Relationship) cvtedValue).dstId()); // 用LongValue包装long类型的rank值 props.put("rank", new LongValue(((Relationship) cvtedValue).ranking()));
需要确保已导入对应包:
import com.vesoft.nebula.client.graph.data.value.LongValue;
如果客户端版本有差异,类名或包路径可能略有不同,但核心逻辑一致——用对应数据类型的Value实现类包装基础类型,转换成ValueWrapper实例即可。
内容的提问来源于stack exchange,提问作者黄凤仙
相关产品推荐
相关产品推荐

