通用数组构造函数

0 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];
 }
Run Code Online (Sandbox Code Playgroud)

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

Men*_*los 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");

}
Run Code Online (Sandbox Code Playgroud)