1

多数のオーバーロードされたコンストラクターを持つクラスがあります。コンストラクタによっては例外が発生する場合があります( startSizeorgrowFactorが小さすぎる場合)。他のコンストラクターでは、既定値が使用され、これらの例外は発生しません。

以下に示すように、単純なコンストラクターの警告を何らかの方法で抑制することは可能ですか? オーバーロードされたコンストラクター呼び出しは最初の呼び出しでなければならないため、それらを try-catch ブロックで囲むことはできません。

private static final int DEFAULT_STARTSIZE = 50;
private static final int DEFAULT_SCALEFACTOR = 2;

public LinkedArrayList()
{
    this(LinkedArrayList.DEFAULT_STARTSIZE, LinkedArrayList.DEFAULT_SCALEFACTOR);
}

public LinkedArrayList(T... startCollection)
{
    this(LinkedArrayList.DEFAULT_STARTSIZE, LinkedArrayList.DEFAULT_SCALEFACTOR, startCollection);
}

public LinkedArrayList(int startSize) throws InitialSizeTooSmallException
{
    this(startSize, LinkedArrayList.DEFAULT_SCALEFACTOR);
}


public LinkedArrayList(int startSize, T... startCollection) throws InitialSizeTooSmallException
{
    this(startSize, LinkedArrayList.DEFAULT_SCALEFACTOR, startCollection);
}

public LinkedArrayList(int startSize, int growFactor) throws InitialSizeTooSmallException, InitialGrowFactorTooSmallException
{
    if (startSize < 1)
        throw new InitialSizeTooSmallException();

    if (growFactor < 1)
        throw new InitialGrowFactorTooSmallException();

    this.data = new DLNodeList<T>(startSize, growFactor);
}

public LinkedArrayList(int startSize, int growFactor, T... startCollection)  throws InitialSizeTooSmallException, InitialGrowFactorTooSmallException
{
    this(startSize, growFactor);

    for (T item : startCollection)
        this.add(item);
}
4

1 に答える 1