我正在尝试格式化存储而不在数据库中格式化的电话号码。 现在我只使用substring和String concatination来形成格式化的String,但我正在寻找更清晰/更快/更少内存密集的方法。 (我并不是说只使用StringBuilder)。
我查看了String.format但是只接受了参数列表(如...)而不是chararray。
答案 0 :(得分:5)
经过一番查询后,我会花2美分收入:
import java.swing.text.MaskFormater;
try {
MaskFormatter formatter = new MaskFormatter("+AA AAA AA AA AA");
formatter.setValueContainsLiteralCharacters(false);
System.err.println(formatter.valueToString("31987365414"));
} catch (ParseException e) {
}
答案 1 :(得分:1)
如果你想从char数组中加上String
加上它们之间的一些东西(字符,字符串等等),那么StringBuilder
绝对是正确的方法,如果你不我想简单地连接。重要的一点是使用足够的初始容量初始化构建器,以便在构建时不需要重新分配其内部构件。