我操纵ssn。 输入=“123456789” 输出=“896745123”交换内容后建立新字符串的更好方法
您从输入(即123)取前3位数字,并用最后两个数字“89”将其交换,然后交换“45”与“67” 。以下是我使用toCharArray的代码。但我不喜欢它。这种方法(不是测试)可以被许多用户一次访问。我一直在寻找更好的性能,可读性和贸易安全解决方案。
我感谢您的帮助。
@Test
public void testSSNString(){
String original="123456789";
String result="896745123";
char[] charResult=original.toCharArray();
char temp=charResult[6];
charResult[6]=charResult[0];
charResult[0]=charResult[7];
charResult[7]=charResult[1];
charResult[1]=charResult[8];
charResult[8]=charResult[2];
charResult[2]=charResult[5];
charResult[5]=charResult[4];
charResult[4]=charResult[3];
charResult[3]=temp;
assertEquals(original.toCharArray(),charResult);
}
t这是完全线程安全的,高性能的最大限。没有解决方案可以打败你的硬编码映射。 –