这是为ArrayList重写的方法add的片段。我的意图是,为了保持列表的字母顺序(通过比较字符串; compareTo是在一个单独的方法中定义),它将使用compareTo确定哪些元素应该向右移动,直到其中一个条件变为false(到达开头的列出或查找字符串“小于”字符串arg0),然后插入arg0。添加第一个元素时没有引发错误,但是当第二个元素添加到ArrayList时引发了NullPointerException。怎么样?
我修复了NullPointerException问题,但方法中仍然存在问题。
鉴于已经定义了一个数组arr [](长度为20),并且arg0已经预先传入:
int instance = this.size();
while(instance > 0 && arg0.compareTo(arr[instance-1]) > 0){
arr[instance] = arr[instance - 1];
instance--;
}
arr[instance] = arg0;
return true;