所以自从我的第一个问题以来,我已经走了很长一段路,感觉我知道自己在做什么。
无论如何,我在这里使用JAXB创建XML元素/值的方法。设置如下:
addXML(String...xml);
用于
javabean.addXML("tagname","tagvalue", "tagname2", "tagvalue2", etc..);
现在,通常很多这些“标签值”都是数字的。此外,它们可能被分配给varialbes,在这种情况下,只需键入变量名称代替“tagvalue”就可以了 - 但截至目前,首先需要转换为String。
所以,我的问题是,是否可以创建一个采用VARIABLE量的字符串/双对的方法?
即
value1 = 1.0;
value2 = 3.5403;
javabean.addXML("tagname", 1.0, "tagname2", value2, etc...);
我是否需要定义某种自定义的arraylist,它在字符串和双精度之间交替出现,并将这些列表的可变数量作为参数?
谢谢,
十
答案 0 :(得分:1)
创建您自己的Tag
类,其中包含标记名称和标记值的属性。然后使用Tag
作为varargs参数的类型:
addXML(Tag... tags);
您可以这样调用您的方法:
javabean.addXML(new Tag("tagname", 1.0), new Tag("tagname2", value2));
答案 1 :(得分:0)
两个选项:
将您的方法声明为addXml(Object ...)
,然后在运行时验证输入是否正确交替字符串并在方法本身中加倍。这允许您编写一个看起来与您的示例完全相同的函数,但不会让Java静态检测方法调用中的任何错误。
定义一个将字符串和数字配对的类,然后使用它。这要求调用者多做一些打字,但允许类型检查器确保正确使用该方法。
答案 2 :(得分:0)
最好不必处理具有许多参数的调用。最好允许用户多次调用该方法并在内部添加标记/值对。
所以方法调用就像:
javabean.addDoubleElement(String tag, double value);
请注意addXML
不是很具描述性。小心过于笼统的名字。另外请确保您没有不必要混合编码和类型。 addXML
对于执行编码的类是可以的,但对于描述数据类型的类则不太好。