Java中字符串到字符串[]的转换

Java中字符串到字符串[]的转换,java,Java,我有过这样的方法 public void beforeTest(String a, String b, String c, String d) { x = getURL(a, b, c, d); -------- -------- } 我现在想传递字符串[],而不是单个字符串作为参数类型,所以尝试了以下方法 public void beforeTest(String[] args){ x = getURL(a, b, c, d); -------- ----

我有过这样的方法

public void beforeTest(String a, String b, String c, String d) {
   x = getURL(a, b, c, d);
   --------
   --------
}
我现在想传递字符串[],而不是单个字符串作为参数类型,所以尝试了以下方法

public void beforeTest(String[] args){
   x = getURL(a, b, c, d);
   --------
   --------
} 
并将a、b、c、d作为命令行参数传递,我的代码不工作,这是正确的方法吗

谢谢大家,我确实尝试过getURL(args[0]……)方法,但不幸的是,我仍然得到相同的错误

[testng]配置失败:@BeforeMethod beforeTest[testng]org.testng.TestNGException:[testng]方法beforeTest需要1个参数,但@CONFIGURATION批注中提供了4个参数

顺便说一下,我的getURL方法定义如下:

protected String getURL(String a, String b, String c, String d) {
   if (condition){
      return a
   } else if (condition) {
      return b
   } ....
试试这个

String a = args[0];
String b = args[1];
String c = args[2];
String d = args[3];
将4个字符串作为命令行参数传递是可以的。

试试这个

String a = args[0];
String b = args[1];
String c = args[2];
String d = args[3];
将4个字符串作为命令行参数传递是可以的。

试试这个

String a = args[0];
String b = args[1];
String c = args[2];
String d = args[3];
将4个字符串作为命令行参数传递是可以的。

试试这个

String a = args[0];
String b = args[1];
String c = args[2];
String d = args[3];

将4个字符串作为命令行参数传递是可以的。

您可能希望改用varargs。它允许您将输入视为数组,而不需要调用方自己创建数组

public void beforeSuite(String... args){
   x = getURL(args[0], args[1], args[2], args[3]);
} 
你可以这样称呼它:

beforeSuite("test", "test", "test again", "more tests", "even more tests");
// Notice how I can specify more than 4 (or less, or equal to 4) strings
// without changing the method signature

主要问题是如何访问变量:
args[0]
而不是
args
args
只是一个数组,但是
args[0]
是数组中的一个值。

您可能希望改用varargs。它允许您将输入视为数组,而不需要调用方自己创建数组

public void beforeSuite(String... args){
   x = getURL(args[0], args[1], args[2], args[3]);
} 
你可以这样称呼它:

beforeSuite("test", "test", "test again", "more tests", "even more tests");
// Notice how I can specify more than 4 (or less, or equal to 4) strings
// without changing the method signature

主要问题是如何访问变量:
args[0]
而不是
args
args
只是一个数组,但是
args[0]
是数组中的一个值。

您可能希望改用varargs。它允许您将输入视为数组,而不需要调用方自己创建数组

public void beforeSuite(String... args){
   x = getURL(args[0], args[1], args[2], args[3]);
} 
你可以这样称呼它:

beforeSuite("test", "test", "test again", "more tests", "even more tests");
// Notice how I can specify more than 4 (or less, or equal to 4) strings
// without changing the method signature

主要问题是如何访问变量:
args[0]
而不是
args
args
只是一个数组,但是
args[0]
是数组中的一个值。

您可能希望改用varargs。它允许您将输入视为数组,而不需要调用方自己创建数组

public void beforeSuite(String... args){
   x = getURL(args[0], args[1], args[2], args[3]);
} 
你可以这样称呼它:

beforeSuite("test", "test", "test again", "more tests", "even more tests");
// Notice how I can specify more than 4 (or less, or equal to 4) strings
// without changing the method signature

主要问题是如何访问变量:
args[0]
而不是
args
args
只是一个数组,但是
args[0]
是数组中的一个值。

我认为最短的方法是

x = getURL(args);

只有将
getURL
声明为
getURL(String…
getURL(String[])

我认为最短的方法是

x = getURL(args);

只有将
getURL
声明为
getURL(String…
getURL(String[])

我认为最短的方法是

x = getURL(args);

只有将
getURL
声明为
getURL(String…
getURL(String[])

我认为最短的方法是

x = getURL(args);
只有当
getURL
声明为
getURL(String…
getURL(String[])时,这才有效

但是为什么不给参数type
String[]
提供类似类型的签名呢。然后您可以再次通过调用
getUrl(args)
传递
args
。您还可以使用
varargs
参数声明这两个方法:
beforeSuite(String…args)
getURL(String…args)

但是为什么不给参数type
String[]
提供类似类型的签名呢。然后您可以再次通过调用
getUrl(args)
传递
args
。您还可以使用
varargs
参数声明这两个方法:
beforeSuite(String…args)
getURL(String…args)

但是为什么不给参数type
String[]
提供类似类型的签名呢。然后您可以再次通过调用
getUrl(args)
传递
args
。您还可以使用
varargs
参数声明这两个方法:
beforeSuite(String…args)
getURL(String…args)


但是为什么不给参数type
String[]
提供类似类型的签名呢。然后您可以再次通过调用
getUrl(args)
传递
args
。您还可以使用
varargs
参数声明这两个方法:
beforeSuite(String…args)
getURL(String…args)
要执行所需操作,您必须更改方法

public void beforeSuite(String...args){
   x = getURL(args[0], args[1], args[2], args[3]);
   --------
   --------
} 

但请记住,方法上的此定义(
String…args
)可以有N个参数,这意味着如果传递的参数少于4个,则将获得ArrayIndexOutOfBoundsException。

要执行所需操作,必须更改方法

public void beforeSuite(String...args){
   x = getURL(args[0], args[1], args[2], args[3]);
   --------
   --------
} 

但请记住,方法上的此定义(
String…args
)可以有N个参数,这意味着如果传递的参数少于4个,则将获得ArrayIndexOutOfBoundsException。

要执行所需操作,必须更改方法

public void beforeSuite(String...args){
   x = getURL(args[0], args[1], args[2], args[3]);
   --------
   --------
} 

但请记住,方法上的此定义(
String…args
)可以有N个参数,这意味着如果传递的参数少于4个,则将获得ArrayIndexOutOfBoundsException。

要执行所需操作,必须更改方法

public void beforeSuite(String...args){
   x = getURL(args[0], args[1], args[2], args[3]);
   --------
   --------
} 

但请记住,方法上的此定义(
String…args
)可以有N个参数,这意味着如果传递的参数少于4个,则将获得ArrayIndexOutOfBoundsException。

有一个args数组参数,但在调用getURL()时不使用它。那么,重点是什么?难道你不想,“x=getURL(args[0],args[1],,,,,)等等吗?
getURL(args[0],args[1],args[2],args[3]);
使用
getURL(args[0],args[1],args[2],args[3])
但是你可能想先做一些检查,然后再做决定