我想将一个字符串数组作为参数传递给一个函数。请看下面的代码:
String[] stringArray = {'a', 'b', 'c', 'd', 'e'};
functionFoo(stringArray);
改为:
functionFoo('a', 'b', 'c', 'd', 'e');
但是如果我这样做,就会出现错误,提示将String[]
转换为String
。我想知道是否可能以这种方式传递值,或者正确的方法是什么。
这样如何:
public class test {
public static void someFunction(String[] strArray) {
// do something
}
public static void main(String[] args) {
String[] strArray = new String[]{"Foo","Bar","Baz"};
someFunction(strArray);
}
}
String concat (String ... strings)
{
StringBuilder sb = new StringBuilder ();
for (int i = 0; i < strings.length; i++)
sb.append (strings [i]);
return sb.toString ();
}
在这里,我们可以像concat(a,b,c,d)一样调用函数,或者使用任意数量的参数。
更多信息:http://today.java.net/pub/a/today/2004/04/19/varargs.html
i<
是什么意思或作用?你是不是指的是 i<strings.length
? - Thufir我认为这应该是完成这个任务的方法...
public static void function(String [] array){
...
}
调用方法如下...
public void test(){
String[] stringArray = {"a","b","c","d","e","f","g","h","t","k","k","k","l","k"};
function(stringArray);
}
看一下熟悉的主方法,它以字符串数组作为参数
private String[] stringArray = {"a","b","c","d","e","f","g","h","t","k","k","k"};
public void myMethod(String[] myArray) {}
随意使用这个,无论你喜欢如何使用。
/*
* The extendStrArray() method will takes a number "n" and
* a String Array "strArray" and will return a new array
* containing 'n' new positions. This new returned array
* can then be assigned to a new array, or the existing
* one to "extend" it, it contain the old value in the
* new array with the addition n empty positions.
*/
private String[] extendStrArray(int n, String[] strArray){
String[] old_str_array = strArray;
String[] new_str_array = new String[(old_str_array.length + n)];
for(int i = 0; i < old_str_array.length; i++ ){
new_str_array[i] = old_str_array[i];
}//end for loop
return new_str_array;
}//end extendStrArray()
基本上我会这样使用:
String[] students = {"Tom", "Jeff", "Ashley", "Mary"};
// 4 new students enter the class so we need to extend the string array
students = extendStrArray(4, students); //this will effectively add 4 new empty positions to the "students" array.
我认为你忘记将参数注册为String[]
package FirstTestNgPackage;
import java.util.ArrayList;
import java.util.Arrays;
public class testingclass {
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
System.out.println("Hello");
int size = 7;
String myArray[] = new String[size];
System.out.println("Enter elements of the array (Strings) :: ");
for(int i=0; i<size; i++)
{
myArray[i] = "testing"+i;
}
System.out.println(Arrays.toString(myArray));
ArrayList<String> myList = new ArrayList<String>(Arrays.asList(myArray));
System.out.println("Enter the element that is to be added:");
myArray = myList.toArray(myArray);
someFunction(myArray);
}
public static void someFunction(String[] strArray)
{
System.out.println("in function");
System.out.println("in function length"+strArray.length );
System.out.println(Arrays.toString(strArray));
}
}
只需复制并粘贴...您的代码...它将正常工作...然后您就会了解如何将字符串数组作为参数传递...
谢谢
c = a + b
),而方法是对给定数据执行一个或多个函数的包装上下文(继续上面的例子,int sum(a,b)
)。 - Esko