首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化int到base36的转换

优化int到base36的转换
EN

Stack Overflow用户
提问于 2012-04-04 17:54:43
回答 1查看 2.5K关注 0票数 5

我目前做了很多从int到base36字符串的转换(占程序时间的70%)。这段代码有什么明显的优化吗?

代码语言:javascript
复制
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();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-04 18:00:27

您可以使用:

代码语言:javascript
复制
String s = Integer.toString(100, 36);
int i = Integer.parseInt("2s", 36);

更容易维护,而且可能优化得很好。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10008809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档