多数のオーバーロードされたコンストラクターを持つクラスがあります。コンストラクタによっては例外が発生する場合があります( startSize
orgrowFactor
が小さすぎる場合)。他のコンストラクターでは、既定値が使用され、これらの例外は発生しません。
以下に示すように、単純なコンストラクターの警告を何らかの方法で抑制することは可能ですか? オーバーロードされたコンストラクター呼び出しは最初の呼び出しでなければならないため、それらを 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);
}