在Java FOR循环中检索连接变量的值 在C++和VB中我一直使用这个“逻辑”,但我被绑定在java中… 简言之 public void DataProviderExample(String user, String pwd, String no_of_links, String link1, String link2, String link3) { for (int i=1;i<=no_of_links;i++) { String link = "link"+i; System.out.println(link); }

在Java FOR循环中检索连接变量的值 在C++和VB中我一直使用这个“逻辑”,但我被绑定在java中… 简言之 public void DataProviderExample(String user, String pwd, String no_of_links, String link1, String link2, String link3) { for (int i=1;i<=no_of_links;i++) { String link = "link"+i; System.out.println(link); },java,loops,Java,Loops,我想要的是- X Y Z 有什么想法吗?为什么不使用数组呢?您可以使用varargs: public void DataProviderExample(String user, String pwd, String... links) { for (String link : links) { System.out.println(link); } } ... DataProviderExample("user1", "password1", "X", "Y",

我想要的是-

X
Y
Z

有什么想法吗?

为什么不使用数组呢?

您可以使用varargs:

public void DataProviderExample(String user, String pwd, String... links) {

for (String link : links) {
         System.out.println(link);
    }
}

...
DataProviderExample("user1", "password1", "X", "Y", "Z");
DataProviderExample("user2", "password2", "Q");
通过这种方式,您可以传入所需数量的链接,运行时会自动将这些链接放入一个数组中,您可以使用foreach循环对其进行迭代

使用普通数组时,调用将更加麻烦(当然,除非您已经在数组中拥有链接):


正如@Jan Kuboschek所指出的,您应该使用数组。如果没有,请检查。

我很感激您的回答。我正在尝试从外部Excel文件检索函数的参数。尝试您描述的两种方法时,我遇到了“java.lang.IllegalArgumentException:参数类型不匹配”错误。你知道为什么吗?:)

声明: DataProviderExample(字符串用户、字符串pwd、字符串…链接){…} 电话: 数据提供者示例(“user1”、“pwd1”、“X”、“Y”、“Z”); 数据提供者示例(“user2”、“pwd2”、“X”、“Y”)

我还尝试了“数组”方法,得到了相同的参数不匹配错误。 宣言: DataProviderExample(字符串用户、字符串pwd、字符串[]链接){…} 电话: DataProviderExample(“user1”、“pwd1”、“X”、“Y”、“Z”}); DataProviderExample(“user2”、“pwd2”、“X”、“Y”})

同样,从Excel文件中检索参数user1、user2、pwd1、pwd2和links数组


谢谢。

我猜他实际上并没有打印字符串
“link”+I
,而是执行某种形式的求值(link),即使用变量链接中定义的名称获取变量的值。上面的代码是他在Java中最接近的代码。+1-我推荐这种方法。你所描述的对VB有效的东西可以通过反射来实现——你想动态地形成变量的名称。这不是最优雅的解决方法……但我将动态字符串变量作为单个字符串传递给函数,并简单地将其拆分为基于“,”分隔符的数组。。。
public void DataProviderExample(String user, String pwd, String... links) {

for (String link : links) {
         System.out.println(link);
    }
}

...
DataProviderExample("user1", "password1", "X", "Y", "Z");
DataProviderExample("user2", "password2", "Q");
public void DataProviderExample(String user, String pwd, String[] links) { ... }

DataProviderExample("user1", "password1", new String[] {"X", "Y", "Z"});