Existe algum modo rapido de applicar maskacara (###.###-##) ? a uma string de digitos?

[code]String mask = “###.###.###-#”

String digitos = “12345678955”;

System.out.println(applayMask(mask, digitos));

//result = 123.456.789-55[/code]

algo assim … eu sei que da pra fazer horrivelmente assim:

applayMask(String mask, String digitos) { int cursor = 0; while (mask.contains("#")) { mask.replaceFirst("#", ""+digitos.charAt(cursor)); }
mas tenho certeza que existe um modo + elegante

Olhe isso:
http://www.exampledepot.com/egs/java.text/FormatNum.html?l=rel

eu olhei, mas no meu caso não é exatamente um Número, é uma string contendo digitos… inclusive os valores iniciais podem ser zeros

Creio que seja mais fácil converter para int ou long e aplicar a máscara do DecimalFormat do que criar um algoritmo próprio. Pode ser que haja algum método já existente que faça isso, mas desconheço…