在java中创建数组的Object

问题描述 投票:0回答:2

我在理解如何在Java中创建n对象数组时遇到问题。

这是类ServicePath的构造函数如下:

public ServicePath(String id) {
   this.id = id;
}

这是我想要创建对象的数组元素。

String ServicePathArrays[] = {"SH11","SH13","SH17","SH110","SH111","SH112","SH115", ...}

我尝试了以下操作,但它手动创建。

ServicePath[] servicePathArray = new ServicePath[ServicePathArrays.length];

例如,手动创建以下内容

ServicePath[0] = new ServicePath("SH11");
ServicePath[1] = new ServicePath("SH13");
..
..

我想用这样的方式使用String ServicePathArrays自动创建它:

ServicePath[0].id = "SH11";
ServicePath[1].id = "SH12";
ServicePath[2].id = "SH13";
..
..
java arrays
2个回答
1
投票

这可以使用jdk8 +的功能行为来完成:

String servicePathArray[] = {"SH11", "SH13", "SH17",
                             "SH110", "SH111", "SH112", "SH115"};
List<ServicePath> collection = Stream.of(servicePathArray)
                                     .map(ServicePath::new)
                                     .collect(Collectors.toList());

System.out.println(collection); 

1
投票
String ServicePathArrays[] = {"SH11","SH13","SH17","SH110","SH111","SH112","SH115", ...};
ServicePath[] servicePathArray = new ServicePath[ServicePathArrays.length];
for(int i = 0; i < ServicePathArrays.length; i++) {
    servicePathArray [i] = new ServicePath(ServicePathArrays[i]);
}
© www.soinside.com 2019 - 2024. All rights reserved.