使用 Java 中的数组进行构造函数链接

我似乎无法弄清楚当我尝试调用的构造函数应该使用传递给我从中调用它的构造函数的值时,如何链接构造函数。


我试过这个:


public BoundingBox(Point a, Point b)

{

    Point[] points = {a, b}

    this(points); 

}

但是我被告知,对 的调用必须在构造函数的第一行。this


我正在尝试调用此构造函数


public BoundingBox(Point[] input)

{

    //do some work

}

理想情况下,我可以链接这些构造函数。否则,我可能不得不重构我的代码。


缥缈止盈
浏览 104回答 3
3回答

绝地无双

这是可能的this(new Point[] {a, b});

侃侃无极

您可以将这两个构造函数替换为以下使用 Varargs 的构造函数public BoundingBox(Point ... input){    //do some work}关于瓦拉格斯的简介一个方法可以使用一个变量参数(变量参数),就好像它是一个数组一样。但是,它与数组略有不同。vararg 参数必须是方法的参数列表中的最后一个元素。这意味着每个方法只允许有一个 vararg 参数。使用 vararg 参数调用方法时,您可以选择。您可以传入数组,也可以列出数组的元素并让 Java 为您创建它。您甚至可以在方法调用中省略 vararg 值,Java 将为您创建一个长度为零的数组。

慕容森

可以使用创建数组的静态函数static private Point[] createPointArray(Point a, Point b) {     Point[] points = {a, b}    return points;}public BoundingBox(Point a, Point b){    this(createPointArray(a,b)); }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java