我在理解如何在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";
..
..
这可以使用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);
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]);
}