0

現在のプロジェクトでは、オブジェクト に変換List<String>し たいと考えてい ます。RegionLabel

たとえば、ユーザーは文字列値を 、 、 の順に入力centerfloorますroom。ユーザーの入力をリストに保存しています。

さて、私の内部データ構造 RegionLabel( String centerString, String floorString, String roomString);

私の要件は、List<String>データ構造をRegionLabel("center", floor", "room" );データ構造に変換することです。

1 つの注意: 私の RegionLabel クラスはオンフライで生成されます。オンフライとは、設計時に、「RegionLabel コンストラクターがいくつの引数を持っているか」がわからないことを意味します。

-パンケシュ

4

3 に答える 3

2

おそらくあなたはちょうど後です

new RegionLabel(list.get(0), list.get(1), list.get(2))

「RegionLabel コンストラクターにはいくつの引数があるのですか?」ということがわかりません。

List<String>次に、リフレクションを使用するか、を引数として受け入れるコンストラクターを提供する必要があります。

于 2012-06-14T12:47:04.730 に答える
1

のような新しいコンストラクタを作成しますRegionLabel(List<String> list)。これで十分です。

public RegionLabel(List<String> list) throws Exception{
     if( null == list || list.size() < 3 )
          throw new Exception("illegal parameter");
     this.centre = list.get(0);
      ...
}
于 2012-06-14T12:47:02.253 に答える
0
RegionLabel label = new RegionLabel(inputList.get(0), inputList.get(1), inputList.get(2));

エラー処理や検証なしで単純化されていますが、「変換」にこれ以上の制約がないため、より一般的なものにするのは困難です。

于 2012-06-14T12:47:37.227 に答える