将字符串数组作为参数传递给函数java

我想将字符串数组作为参数传递给函数。 请看下面的代码

String[] stringArray = {a,b,c,d,e,f,g,h,t,k,k,k,l,k}; function(stringArray); instead of function(a,b,c,d,e,f,g,h,t,k,k,k,l,k); 

但是,如果我这样做,我收到一个错误,说明将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); } } 

以上所有答案都是正确的。 但请注意,当您像这样传递时,您将传递对字符串数组的引用。 如果对被调用函数中的数组进行任何修改,它也会反映在调用函数中。

Java中还有另一个称为变量参数的概念,您可以查看。 它基本上是这样的。 例如:-

  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

我相信这应该是这样做的方式……

 public 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); } 

看看熟悉的main方法,它将字符串数组作为参数

您的方法声明很可能不正确。 确保methods参数的类型为String array(String []),而不仅仅是String,并且在数组声明中使用字符串周围的双引号。

 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[]