Вы можете использовать split с регулярным выражением, например так:
String[] ret = str.split("(?<=\\G.{" + div +"})");
Если вы хотите вернуть List
:
public static List<String> divStr(String str, int div) {
return Arrays.asList(str.split("(?<=\\G.{" + div +"})"));
}
Если вы вызываете метод, например:
System.out.println(divStr("0100100001001001", 8));
>> [01001000, 01001001]
Если вы под div
подразумеваете количество частей, вы можете изменить свой код так:
public static List<String> divStr(String str, int div) {
int length = str.length() / div;
return Arrays.asList(str.split("(?<=\\G.{" + length +"})"));
}
затем:
System.out.println(divStr("0100100001001001", 2));
>> [01001000, 01001001]