通用数组构造函数

时间:2014-02-19 22:19:37

标签: java arrays generics arraylist

我正在开展一个项目,我坚持使用这种方法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];
 }

有人可以指出我哪里出错吗?

1 个答案:

答案 0 :(得分:5)

您需要做的是在类中创建一个私有布尔值,以保存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");

}