Java如何重新排列String中的数字

sec*_*ova 0 java string

String str1 = "11,22,13,31,21,12";
String str2 = "11,12,13,21,22,31";
Run Code Online (Sandbox Code Playgroud)

是否有一种简单干净的方法来修改str1以获得str2?

See*_*ose 6

带有流的 Java 8解决方案:

String str2 = Stream
    .of(str.split(","))
    .map(Integer::parseInt)
    .sorted()
    .map(String::valueOf)
    .collect(joining(","));
Run Code Online (Sandbox Code Playgroud)

注意:对于joining方法我有一个import static java.util.stream.Collectors.joining.

作为数字(Integer::parseInt)的解释很重要,因为这将正确地对输入进行排序.

  • @Jerry06我添加了类`java.util.stream.Collectors`作为收藏:Window - > Preferences - > Java - > Editor - > Content Assist - > Favorites.通过这样做,您也可以将其方法作为建议. (2认同)