この回答があなたが本当にやりたいことを説明しているかどうかはわかりませんが、
あなたが持っている「情報」は、リストのリストから得られるデフォルトのプリントアウトによく似ています。私は何か「似た」ものを見ることができました:
List<String> inner = new ArrayList<String>();
inner.add("1/2");
inner.add("1/2");
List<Object> outer = new ArrayList<Object>();
outer.add(inner);
outer.add("1");
System.out.println(outer);
それが既知のコレクション (コレクションの) であると仮定するのが正しい場合knowledge
、既知の要素を取得して正しい場所に配置できるフォーマット メソッドを作成できます。「true」と「false」がハードコードされたテキスト文字列の場合、次のようになります。
public String formatKnowledge(List list) {
return "{{true@" + ((List)list.get(0)).get(0) + ", false@" +
((List)list.get(0)).get(1) + "}@" + list.get(1) + "}";
}
明らかに、これは正確なタイプのリスト入力に対してのみ機能します。リストがより複雑になる可能性がある場合は、適切な場所に正しいテキスト (および中かっこ) を作成するために、より複雑なロジックが必要になります。また、「真」と「偽」が何らかの方法で計算される場合は、そのロジックも追加する必要があります。
免責事項:上記のフォーマット方法は、説明のみを目的としています。作者はクレイジーなブラインド キャストやクレイジーなブラインド インデックスの使用を容認しません...