Оптимизация преобразования int в 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 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();
}
1 ответ
Решение
Ты можешь использовать:
String s = Integer.toString(100, 36);
int i = Integer.parseInt("2s", 36);
Проще поддерживать и, вероятно, хорошо оптимизировать.