结合多个字符串数组android

时间:2013-11-12 17:31:22

标签: java android arrays

我的xml文件中有两个字符串数组。 代码段是

<string-array name="ECE1NAME">
    <item>ENG1</item>
    <item>MAT1</item>
    <item>PHY1</item>
    <item>CHM1</item>
    <item>EG</item>
    <item>FOC</item>
    <item>CPL1</item>
    <item>EPL</item>
</string-array>
<string-array name="ECE2NAME">
    <item>ENG2</item>
    <item>CHM2</item>
    <item>PHY2</item>
    <item>MAT2</item>
    <item>ECED</item>
    <item>BCM</item>
    <item>PCL</item>
    <item>CPL2</item>
    <item>CDL</item>
</string-array>

现在我想将它组合成一个字符串,具体取决于我的类文件中的if条件。 我的java代码片段是

 if(messagec2.equals("1"))
 {
     sub=getResources().getStringArray(R.array.ECE1NAME);
 }
 if(messagec2.equals("2"))
 {
     sub=getResources().getStringArray(R.array.ECE1NAME);
     sub=getResources().getStringArray(R.array.ECE2NAME);
 }

在第二种情况下,我想将ECE1NAME和ECE2NAME字符串数组放入同一个变量sub.Please帮助我。

2 个答案:

答案 0 :(得分:8)

将字符串a [],字符串B []等constng变量通过将值传递给此方法来将它们连接起来。

private String[] concat(String[] A, String[] B) {
   int aLen = A.length;
   int bLen = B.length;
   String[] C= new String[aLen+bLen];
   System.arraycopy(A, 0, C, 0, aLen);
   System.arraycopy(B, 0, C, aLen, bLen);
   return C;
}

答案 1 :(得分:0)

当messagec2.equals(“2”)你正在设置子变量,然后在下一行中你正在替换你刚刚设置的值。尝试使用arraylist获取第一个值,然后将第二个数组的值附加到它。

这个帖子应该有所帮助。 How can I concatenate two arrays in Java?