0

因此,自从我提出第一个问题以来,我已经走了很长一段路,感觉就像我知道自己在做什么。

无论如何,我这里有这个方法,它使用 JAXB 创建 XML 元素/值。它的设置如下:

addXML(String...xml);

像这样使用

javabean.addXML("tagname","tagvalue", "tagname2", "tagvalue2", etc..);

现在,这些“标签值”中的许多通常都是数字的。此外,它们可能被分配给变量,在这种情况下,最好只输入变量名来代替“tagvalue”——但到目前为止,这首先需要转换为字符串。

所以,我的问题是,是否可以创建一个采用可变数量的字符串/双精度对的方法?

IE

value1 = 1.0;
value2 = 3.5403;
javabean.addXML("tagname", 1.0, "tagname2", value2,  etc...);

我是否需要定义某种在字符串和双精度之间交替的自定义数组列表,并将这些列表的数量可变作为参数?

谢谢,

4

3 回答 3

1

Tag使用标签名称和标签值的属性创建您自己的类。然后Tag用作 varargs 参数的类型:

addXML(Tag... tags);

你可以这样调用你的方法:

javabean.addXML(new Tag("tagname", 1.0), new Tag("tagname2", value2));
于 2013-08-02T18:49:47.220 回答
0

两种选择:

  1. 将您的方法声明为addXml(Object ...),然后验证输入是正确交替的字符串,并在运行时在方法本身中加倍。这允许您编写一个看起来与您的示例完全相同的函数,但不会让 Java 静态检测方法调用中的任何错误。

  2. 定义一个将字符串和数字配对的类,并使用它。这需要调用者进行更多的输入,但允许类型检查器确保正确使用该方法。

于 2013-08-02T19:01:41.360 回答
0

最好不必处理带有许多参数的调用。最好允许用户多次调用该方法并在内部添加标签/值对。

所以方法调用就像:

javabean.addDoubleElement(String tag, double value);

请注意,这addXML不是很具有描述性。谨防过于笼统的名称。还要确保不要不必要地混合编码和类型。addXML对于执行编码的类来说是可以的,但对于描述数据类型的类来说不是很好。

于 2013-08-02T20:19:25.127 回答