Java中的动态变量声明

时间:2015-08-27 12:14:40

标签: java

这里我需要为soap请求创建一个XML。它可能有多个用户标签,如下所示。

<userid>123</userid>
<userid>456</userid>
...

下面是我将代码添加到XML中的代码。

SOAPElement userid1 = example.addChildElement("userid");
SOAPElement userid2 = example.addChildElement("userid");
userid1.addTextNode("123");
userid2.addTextNode("456");

上面的代码适用于两个userids,但不多于以下代码,用于向XML添加标记和值的java代码。

for(int i = 0; i < userids.length; i++){
    SOAPElement userid+i = example.addChildElement("userid");
    userid+i.addTextNode(userids[i]);
}

此问题是SOAPElement userid+i = example.addChildElement("userid");无效。

1 个答案:

答案 0 :(得分:4)

SOAPElement[] userid = new SOAPElement[userids.length]
for(int i=0; i<userids.length; i++){
        userid[i] = example.addChildElement("userid");
        userid[i].addTextNode(userids[i]);
    }

&#39;用户ID + I&#39;不是一个可接受的java变量名(标识符),所以你必须得到一个编译时错误,如我无法解析为变量

更好的方法是使用值数组,您可以使用我上面列出的 SOAPElement 对象数组或其他(如List)java Collections实现

另请阅读valid java identifier rules