我有一个字符串数组
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/