Java 优化int到base36的转换
我目前做了很多从int到base36字符串的转换(程序时间的70%)。 此代码是否有任何明显的优化Java 优化int到base36的转换,java,string,optimization,base36,Java,String,Optimization,Base36,我目前做了很多从int到base36字符串的转换(程序时间的70%)。 此代码是否有任何明显的优化 public static final String alphabet = "0123456789abcdefghijklmnopqrstuvwxyz"; public static StringBuilder b = new StringBuilder(); public static String sign = ""; public static String convertToBase36
public static final String alphabet = "0123456789abcdefghijklmnopqrstuvwxyz";
public static StringBuilder b = new StringBuilder();
public static String sign = "";
public static String convertToBase36(int number)
{
if (number == 0)
{
return "0";
}
b.delete(0, b.length());
sign = "";
if (number < 0)
{
sign = "-";
number = -number;
}
int i = 0;
int counter = 10;
while (number != 0 && counter > 0)
{
counter--;
i = number % 36;
number = (number - i)/36;
b.append(alphabet.charAt(i));
}
return sign + b.reverse().toString();
}
public static final String alphabet=“0123456789abcdefghijklmnopqrstuvwxyz”;
公共静态StringBuilder b=新StringBuilder();
公共静态字符串符号=”;
公共静态字符串转换器SE36(整数)
{
如果(数字==0)
{
返回“0”;
}
b、 删除(0,b.length());
符号=”;
如果(数字<0)
{
符号“-”;
数字=-数字;
}
int i=0;
int计数器=10;
while(数字!=0&&counter>0)
{
计数器--;
i=数量%36;
编号=(编号-i)/36;
b、 附加(字母表字符(i));
}
返回符号+b.reverse().toString();
}
您可以使用:
String s = Integer.toString(100, 36);
int i = Integer.parseInt("2s", 36);
易于维护,而且可能优化得很好。请尝试向“谢谢”咨询,以获得快速回答!一些测试表明,使用它比我的代码快30-50%。