Reputation: 1588
I have a string array that is being filled dynamically.... I would like to run this function:
String[] name = request.getParameterValues("name");
myString = name.substring(0, name.length() - 2);
Now, I know that this wont run, because substring and length methods aren't used for the whole array. Since i dont know how many items will be in this array at any given run time, is there anyway to run the substring/length function for every item in this array?
Upvotes: 3
Views: 25564
Reputation: 359966
You'd use a for
loop. There are a couple different ways to do this. The most basic way:
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);
}
Or you can use the "enhanced for" (also called a "for-each" — it's just syntactic sugar):
String[] names = request.getParameterValues("name");
for (String name : names)
{
String myString = name.substring(0, name.length() - 2);
}
Upvotes: 2
Reputation: 339927
Modern versions of Java (i.e Java 5 and later) have a special for
syntax for arrays (and iterables):
String[] name = request.getParameterValues("name");
for (String s: name) {
String myString = s.substring(0, s.length() - 2);
}
Upvotes: 4
Reputation: 5469
Yes, use you can use length
field of the name
array.
Like this:
for (int i = 0; i < name.length; ++i)
{
String s = name[i];
String sbtr = s.substring(0, s.length() - 2);
}
Or a better approach would be this:
for (String s: name)
{
String sbtr = s.substring(0, s.length() - 2);
}
Upvotes: 6