今時、電文など固定長文字列でデータ設計するところは少ないであろう。
文字列の長さ、(4, 2, 6, 6) と4個の並びであるとして、18の長さの文字列を分割するのに、
Stream の reduce を使うと、わりとスマートに書ける。
List<String> list = new ArrayList<>(); List.of(4, 2, 6, 6).stream().reduce(0, (a, b)->{ list.add(str.substring(a, (a+b))); return a+b; });