我有这样的字符串数组:
String A[] = {"65535", "00000", "00000", "00000", "00000", "A32CE", "43251", "98702", "ACED2", "98AAB", "00000", "00000", "00000", "65535", "65535"}
如何获取65535
和00000
以外的值并将其保存到另一个字符串数组中,如下所示:
String B[] = {"A32CE", "43251", "98702", "ACED2", "98AAB"}
我已经尝试过了:
if(A!="65535" && A!="00000")
{
for(i=0; i<A.length; i++){
B[i] = A[i];
}
}
但我得到的返回值是整个字符串A []。请帮忙。
答案 0 :(得分:1)
由于您正在使用数组而不是ArrayList
个对象,因此事情变得有点乏味。以下代码贯穿第一个数组,检查当前String
是否不是您不想要的那个,如果找到了您想要的那个,则将计数器增加1。然后它创建一个与初始数组中所需对象数一样大的新数组,再次通过初始数组运行,这次将所需的String
对象添加到第二个数组。
String[] arrayOne = {"65535", "00000", "00000", "00000", "00000",
"A32CE", "43251", "98702", "ACED2", "98AAB",
"00000", "00000", "00000", "65535", "65535"};
int validCounter = 0;
for(int i = 0; i < arrayOne.length; i++)
if(!(arrayOne[i].equals("65535") || arrayOne[i].equals("00000")))
validCounter++;
String[] arrayTwo = new String[validCounter];
int arrayTwoPos = 0;
for(int i = 0; i < arrayOne.length; i++)
if(!(arrayOne[i].equals("65535") || arrayOne[i].equals("00000"))){
arrayTwo[arrayTwoPos] = arrayOne[i];
arrayTwoPos++;
}
for(int i = 0; i < arrayTwo.length; i++)
System.out.println(arrayTwo[i]);