如何将一个数组变量的值赋给另一个数组变量
问题描述:
String[] msgoptions;
String[] finalmsgs3 = finalmsgs2[3].split("RR");
for(i = 1; i < finalmsgs3.length; i++)
{
msgoptions[i] = finalmsgs3[i];
Log.e(TAG, "---------------" + msgoptions[i]);
}
如果你能解决我的代码问题,我需要你的帮助。其实我试图将数组变量的值分配给另一个数组变量。但我不能那样做,因为有一些错误。那么,你能帮我吗?如何将一个数组变量的值赋给另一个数组变量
答
重写你的代码:
String[] finalmsgs3 = finalmsgs2[3].split("RR"); // switch first two lines
String[] msgoptions = new String[finalmsgs3.length]; // initilize the other array
for(i = 0; i < finalmsgs3.length; i++) // Array index starts at 0
{
msgoptions[i] = finalmsgs3[i];
Log.e(TAG, "---------------" + msgoptions[i]);
}
更好的解决方案是:
String[] finalmsgs3 = finalmsgs2[3].split("RR");
String[] msgoptions = Arrays.copyOf(finalmsgs3, finalmsgs3.length);
答
试一下:
String[] msgoptions = = new String[SIZE];;
String[] finalmsgs3 = finalmsgs2[3].split("RR");
int j=0;
for(i = 0; i < finalmsgs3.length; i++)
{
msgoptions[j] = finalmsgs3[i];
j++;
Log.e(TAG, "---------------" + msgoptions[i]);
}
答
你需要在使用前数组msgoptions
初始化,例如:
String[] msgoptions = new String[SIZE];
答
首先,在Java上,您需要初始化阵列。另请注意,它们基于0个索引。
所以,你应该更改您的代码是这样的:
String[] finalmsgs3 = finalmsgs2[3].split("RR");
String[] msgoptions = new String[finalmsgs3.length];
for(int i = 0; i < finalmsgs3.length; i++)
{
msgoptions[i] = finalmsgs3[i];
Log.e(TAG, "---------------" + msgoptions[i]);
}
但要做到阵列复制你能避免你的代码使用像java.util.Arrays.copyOf(T[] original, int newLength)
你什么错误的东西更“标准”? – BobTheBuilder 2013-02-10 11:05:21