java - 通过将字符串(来自数组)分配为对象的参数之一,将其他参数保留为空,将字符串数组转换为对象列表

标签 java arrays string list object

我有一个字符串数组

adrs[] = {
    "BD Jules Ferry",
    "Rue de Republique",
    "Avenue de Julin"};

我有一个名为“Address”的对象(//为了简单起见,省略了 getter setter)

public class Address{

     adrsLine1 String;

     adrsLine2 String;

     adrsLine3 String;

     postalCode String;

}

我想转换这个adrs[]List<<Address>> addrsList ,通过将数组中的每个字符串分配为 adrsLine1 Address的参数.

一旦转换了我的 addrsList 中的每个地址对象会像,

  • addrsList.get(0)将有 [BD Jules Ferry, null, null, null]
  • addrsList.get(1)将有 [Rue de Republique, null, null, null]
  • addrsList.get(2)将有 [Avenue de Julin, null, null, null]

我使用Java 8,目前,我使用for loop为了实现这一点,Java 8 中是否有任何捷径或更有效的方法?

示例代码:

private String[] AdrsArray = {"BD Jules Ferry", "Rue de Republique", "Avenue de Julin"};

List<Address> addrsList = new ArrayList<>();

for (String adrsLine : AdrsArray){
    Address address = new ReturnAddress();
    address.setAdrsLine1(adrsLine);
    addrsList.add(address);
} 

输出:

Address address = addrsList.get(0); 
address.getAdrsLine1() //should have "BD Jules Ferry"
address.getAdrsLine2() //should have null
address.getAdrsLine3() //should have null
address.getAdrsPostalCode() //should have null

最佳答案

您可以使用 Java 8 中提供的来简化代码,如下所示。

List<Address> addrsList = Arrays.stream(adrs).map(adr -> {
    Address address = new ReturnAddress();
    address.setAdrsLine1(adr);
    return address;
}).collect(Collectors.toList());

关于java - 通过将字符串(来自数组)分配为对象的参数之一,将其他参数保留为空,将字符串数组转换为对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57908570/

相关文章:

Java - 2D 字符串数组、动态表和空指针异常

Java,代号一 : Exporting and -most importantly- importing files between users

java - 直接在枚举中使用 Wicket 属性

arrays - 从 Google 表格中的数组中提取特定字段

string - 如何将字符串中的服务器名称与端口号分开?

c++ - tokenizer 将字符串转换为 float

java - 在循环体中创建新对象

java - 2 个 JPA 实体在同一张表上

java - 字节数组是什么意思?

php - 如何修复警告 : mysqli_query() expects parameter 2 to be string