Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java CharSequence[]:无法将元素添加到数组_Java_Android - Fatal编程技术网

Java CharSequence[]:无法将元素添加到数组

Java CharSequence[]:无法将元素添加到数组,java,android,Java,Android,它给出了ArrayOutOfBoundException您在第一行代码中声明并分配了一个包含10个字符序列的数组,但在第二行代码中,它被一个长度不确定的数组替换,可能比您预期的要小 (作为对OP后续行动的回应) 要添加元素,必须创建一个新数组并复制旧结果。这就是Java。(你能用硬编码的数字来表示大小和索引吗?)(你可能不应该这样做) (注意-一些旧版本的Android没有array.copyOf(),因此您可能需要使用System.arraycopy()。它没有分配10个字符,而是分配一个包含

它给出了
ArrayOutOfBoundException

您在第一行代码中声明并分配了一个包含10个字符序列的数组,但在第二行代码中,它被一个长度不确定的数组替换,可能比您预期的要小

(作为对OP后续行动的回应)

要添加元素,必须创建一个新数组并复制旧结果。这就是Java。(你能用硬编码的数字来表示大小和索引吗?)(你可能不应该这样做)


(注意-一些旧版本的Android没有array.copyOf(),因此您可能需要使用System.arraycopy()。

它没有分配10个字符,而是分配一个包含10个
CharSequence
元素的数组。这些不是字符。“R.array.save\u优惠券\u add\u photo\u选项”指的是包含2个元素的字符串数组..而“mphotoopions”(CharSequence[])的长度固定为2..如何添加第三个元素..以上代码给出了例外。
CharSequence[] mPhotoOptions = new CharSequence[10];
               mPhotoOptions = getResources().getStringArray(R.array.save_coupon_add_photo_options);

               if (!TextUtils.isEmpty( mItemList.mItemImagePath ) || !TextUtils.isEmpty( mResizedPhotoFilePath )  ) {
                   mPhotoOptions[2]= getResources().getString(R.string.remove_image);
               }
CharSequence[] newPhotoOptions = Arrays.copyOf(mPhotoOptions, 10);  // or old length +1
newPhotoOptions[2] = thatNewValue;  // or old length