将Arrays.sort()用于非字母字符,例如{'+''1''D'}

时间:2019-10-18 05:10:59

标签: java arrays sorting char

我的示例字符串是“ D + 1”

我将其转换为字符数组

我想对它们进行排序,使其以ASCII样式显示,因此它应为{'+','1','D'}

然后我可以手动将运算符“ +”移动到所需的中间位置,这样当我将其转换回字符串时,它变为“ 1 + D”

Arrays.sort()在这种情况下不起作用,有无处不在的修复程序吗?

这将使我不必在哈希映射中输入一大堆条目

if (comp.length()>2)
    {
        char[] compChars = comp.toCharArray();

        boolean exit = false;
        if (compChars[1] == '-')
            exit = true;

        // if there is no subtraction
        if (!exit) {

            // TODO: fix
            Arrays.sort(compChars);
            char temp = compChars[0];
            compChars[0] = compChars[1];
            compChars[1] = temp;

            comp = String.valueOf(comp);

        }

    }

1 个答案:

答案 0 :(得分:1)

对我来说,您的示例对于“ D + 1”而言效果很好。唯一的错误是您需要最后一行
comp = String.valueOf(compChars);