我正在做一个项目,并且被这种方法public DynArray(boolean allowNulls)所卡住。

我想知道是否有人可以用这种方法来帮助我。我要做的是创建一个DynArray对象,该对象可能允许或不允许其元素为空值,具体取决于值
为allowNulls参数提供。

到目前为止,我有

 public class DynArray<T>  {
   private static final int INITIAL_CAPACITY = 10;
   private T[] theData;
   private int size = 0;
   private int capacity = 0;

 public DynArray( boolean allowNulls ) {
   capacity = INITIAL_CAPACITY;

   if( allowNulls == true){
    // ???
   }
   else {
    // ???
   }
 }

 public DynArray() {
  capacity = INITIAL_CAPACITY;
  theData = (T[]) new Object[capacity];
 }


有人可以指出我要去哪里了吗?

最佳答案

您需要做的是在您的类中创建一个私有布尔值以保存allowNulls的值。然后,在您的插入/添加方法中检查此值。

例:

private boolean allowNulls = false;

 public DynArray( boolean allowNulls ) {
       capacity = INITIAL_CAPACITY;
        this.allowNulls = allowNulls ;
   }

public void addMethod(T element)
{
   if( allowNulls || null!=element) //cheaper to check allowNulls first
   {
        // Put insertion code here
   }
   else
      throw new InputMismatchException("DynArray not initialized to support null");

}

09-05 10:19