首页 > 解决方案 > 如何转换列表到一个字符串?

问题描述

这是代码:我有一个名为 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 行。

谁能建议一种方法来做到这一点。提前致谢

标签: javaspring-bootarraylist

解决方案


假设你有一个 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 将其序列化为字符串。


推荐阅读