0

最初の質問から長い道のりを歩んできました。

とにかく、JAXB を使用して XML 要素/値を作成するこのメソッドがあります。次のように設定されています。

addXML(String...xml);

のように使用されます

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

現在、多くの場合、これらの「タグ値」の多くは数値です。さらに、変数は変数に割り当てられる場合があります。その場合、「tagvalue」の代わりに変数名を入力するだけでよいでしょうが、現時点では、最初に String への変換が必要です。

それで、私の質問は、可変量の文字列/倍精度ペアを取るメソッドを作成することは可能ですか?

すなわち

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

文字列と double を交互に使用し、それらのリストの可変量を引数として持つ、あ​​る種のカスタム arraylist を定義する必要がありますか?

ありがとうございました、

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

多くのパラメーターを使用して呼び出しを処理する必要がない方がよいでしょう。ユーザーがメソッドを複数回呼び出して、タグと値のペアを内部的に追加できるようにすることをお勧めします。

したがって、メソッド呼び出しは次のようになります。

javabean.addDoubleElement(String tag, double value);

addXMLあまり説明的ではないことに注意してください。あまりにも一般的な名前に注意してください。また、エンコーディングと型を不必要に混在させないようにしてください。addXMLエンコーディングを実行するクラスには問題ありませんが、データ型を記述するクラスにはあまり適していません。

于 2013-08-02T20:19:25.127 に答える
0

2 つのオプション:

  1. メソッドを として宣言addXml(Object ...)し、入力が実行時にメソッド自体で文字列と double が適切に交互になっていることを検証します。これにより、例とまったく同じように見える関数を作成できますが、メソッド呼び出しで Java が静的にエラーを検出することはありません。

  2. 文字列と数値をペアにするクラスを定義し、それを使用します。これにより、呼び出し元はもう少し入力する必要がありますが、タイプチェッカーはメソッドが正しく使用されていることを確認できます。

于 2013-08-02T19:01:41.360 に答える