java - 如何转换列表到一个字符串?
问题描述
这是代码:我有一个名为 ClassA 的实体,它由以下属性组成
@JsonProperty("rowDeleted")
private Boolean rowDeleted;
@JsonProperty("start")
private List<Start> start = null;
@JsonProperty("end")
private List<End> end = null;
@JsonProperty("rows")
private List<Row> rows = null;
Row 是另一个由属性组成的实体:
@JsonProperty("cells")
private List<Cell> cells = null;
@JsonProperty("clusteringKey")
private String clusteringKey;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
而 Cell 是另一个实体:
@JsonProperty("deleted")
private Boolean deleted;
@JsonProperty("name")
private String name;
@JsonProperty("value")
private String value;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
我正在获取 ClassA 的对象,并希望将其转换为 ClassB 包含字段的另一个实体:
private String end;
private String key;
private String keyspacename;
private String partitiondeleted;
private String rowdeleted;
private String rows;
private String start;
private String tablename;
private String triggerdate;
private String triggertime;
所以基本上我想将 ClassA 的 List 行转换为 ClassB 的 String 行。
谁能建议一种方法来做到这一点。提前致谢
解决方案
假设你有一个 A 类的列表。
List<A> list= . . . ;
List<B> newList=list
.stream()
.map(obj-> new B()
.setKey(obj.getKey())
.setKeyspacename(//set which field of class A will be saved)
.setPartitiondeleted()
// set more fields
)
.collect(Collecters.toList());
然后newlist
使用 jakson 将其序列化为字符串。