在Array中的每个项目上使用方法

时间:2011-05-10 18:51:26

标签: java

我有一个动态填充的字符串数组....我想运行这个函数:

String[] name = request.getParameterValues("name");
myString = name.substring(0, name.length() - 2);  

现在,我知道这不会运行,因为子串和长度方法不用于整个数组。既然我不知道在任何给定的运行时这个数组中有多少项,那么无论如何都要为这个数组中的每个项运行子串/长度函数吗?

3 个答案:

答案 0 :(得分:6)

是的,您可以使用length数组的name字段。 像这样:

for (int i = 0; i < name.length; ++i)
{
    String s = name[i];
    String sbtr = s.substring(0, s.length() - 2);
}

或者更好的方法是:

for (String s: name)
{
    String sbtr = s.substring(0, s.length() - 2);
}

答案 1 :(得分:4)

Java的现代版本(即Java 5及更高版本)对数组(和迭代)具有特殊的for语法:

String[] name = request.getParameterValues("name");
for (String s: name) {
    String myString = s.substring(0, s.length() - 2);  
}

答案 2 :(得分:2)

您使用for loop。有几种不同的方法可以做到这一点。最基本的方式:

String[] names = request.getParameterValues("name");

for (int i=0; i<names.length; i++)
{
    String name = names[i];
    String myString = name.substring(0, name.length() - 2);
}

或者您可以使用"enhanced for"(也称为“for-each” - 它只是语法糖):

String[] names = request.getParameterValues("name");

for (String name : names)
{
    String myString = name.substring(0, name.length() - 2);
}