用Java中的一部分数组

时间:2014-03-25 15:38:09

标签: java arrays chars

所以我有一串字符,我想在for循环中循环。当我到达某个通过布尔检查的char时,我想在该点之后取出列表中的每个项目并从那里切断。如下所示:

for (int i = 0; i < charList.length; i++)
{   if (charList[i] == "a")
    {
        //put every char in charList between i and the end into a new variable
    }
}

有什么方法可以做到这一点?推荐哪些?

3 个答案:

答案 0 :(得分:3)

Arrays集合有一个copyOfRange()方法

for (int i = 0; i < charList.length; i++)
{   if (charList[i] == 'a')
    {
        char[] newCharList = Arrays.copyOfRange(charList,i,charList.length);//put every char in charList between i and the end into a new variable
        //do stuff
        break;
    }
}

如果你需要在for循环之外访问新数组,请确保在输入之前声明它,即

char[] newCharList;
for(...

答案 1 :(得分:1)

if中,创建一个新的char[],然后将字符放入其中。

char[] substr = new char[charList.length-i];
for (int j = 0; j < charList.length-i; j++) {
    substr[j] = charList[i+j];
}
break; // out of the loop over i

我写了break但您可能会return,或者您会在此范围之外声明substr。我写的代码只是为了给你一个想法。

我为此做了一个简单的ideone,所以你可以看到它正常工作。

答案 2 :(得分:0)

使用copyOfRange()方法:

char[] charListCopy = Arrays.copyOfRange(charList, i, charList.size());