簡體   English   中英

在 java 中調用具有不同數據類型的超級 class 的參數化構造函數?

[英]Calling parameterized constructor of super class with different datatype in java?

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

public abstract class Polygon {
    private List<Double> sides;
    
    public Polygon(List<Double> sides)
    {
        this.sides=sides;
    }

    public List<Double> getSides() {
        return sides;
    }
    
}

public class Square extends Polygon{
    public Square(Double side1) {
        // here i want to call super(sides). how do i convert double(side1) to list. 
    }
}

我想從正方形 class 調用多邊形 class 的構造函數,但是如何將雙精度轉換為列表?

注意:我無法更改任何數據類型。

您可以創建一個雙重復四次的列表:

super(Arrays.asList(side1, side1, side1, side1));  //java 8
super(List.of(side1, side1, side1, side1));        //java 9+

下面的代碼會將您的雙精度轉換為列表,該列表可用作調用構造函數的參數。

DoubleStream.of(doublesArray).boxed().collect(Collectors.toCollection(ArrayList::new)); 

doublesArray 是 Double 參數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM