gpt4 book ai didi

java - 使用 0 到另一个 java 类中的多个对象初始化对象

转载 作者:行者123 更新时间:2023-11-30 07:12:54 25 4
gpt4 key购买 nike

我有一个 Path 和一个 Segment 类。一条路径由多个段组成,并且段的数量可以变化。当初始化新路径时,我希望能够在路径对象中添加 0 个或多个段。这是我到目前为止所拥有的:

public class Segment {

private final double distance;
private final double duration;

public Segment(double distance, double duration){
this.distance = distance;
this.duration = duration;
}
}

public class Path {

public ArrayList<Segment> segments;
private Segment segment;

public Path(Segment segment){
// parameter should be able to take in 0-multiple segment-objects
this.segment = segment;
this.segments = new ArrayList<Segment>();
}
}

主要方法示例:

public static void main(String[] args){
Path path1 = new Path(segment1, segment2, segment3);
Path path2 = new Path(segment4);
}

最佳答案

您可以使用varargs :

import java.util.Arrays;
import java.util.List;

public class Path {
private final List<Segment> segments;

public Path(Segment... segs) {
this.segments = Arrays.asList(segs);
}
}

然后你可以调用它提供零个或多个段:

Segment seg1 = new Segment(2.0, 3.5);
Segment seg2 = new Segment(1.4, 4.2);

Path example1 = new Path(); // no segments
Path example2 = new Path(seg1);
Path example3 = new Path(seg1, seg2); // etc.

关于java - 使用 0 到另一个 java 类中的多个对象初始化对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38894751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com