Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 优化int到base36的转换_Java_String_Optimization_Base36 - Fatal编程技术网

Java 优化int到base36的转换

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

我目前做了很多从int到base36字符串的转换(程序时间的70%)。 此代码是否有任何明显的优化

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%。