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[])时,这才有效
但是为什么不给参数typeString[]
提供类似类型的签名呢。然后您可以再次通过调用getUrl(args)
传递args
。您还可以使用varargs
参数声明这两个方法:beforeSuite(String…args)
和getURL(String…args)
但是为什么不给参数typeString[]
提供类似类型的签名呢。然后您可以再次通过调用getUrl(args)
传递args
。您还可以使用varargs
参数声明这两个方法:beforeSuite(String…args)
和getURL(String…args)
但是为什么不给参数typeString[]
提供类似类型的签名呢。然后您可以再次通过调用getUrl(args)
传递args
。您还可以使用varargs
参数声明这两个方法:beforeSuite(String…args)
和getURL(String…args)
但是为什么不给参数typeString[]
提供类似类型的签名呢。然后您可以再次通过调用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])
但是你可能想先做一些检查,然后再做决定