【发布时间】:2020-01-29 22:02:57
【问题描述】:
我正在实现一个游戏服务器并将游戏板表示为一个字符串,以这个状态为例:
String b = ", a36, a32, a26, a40, a295, a41, a49, /, , a16, a09, a68, a11, a99, ,"
我想把这个字符串转换成下面的字符串数组:
[, a36, a32, a26, a40, a295, a41, a49, , , , a16, a09, a68, a11, a99, ]
我尝试使用String.split:
String[] bArray = b.split("/|,");
这产生:
boardArray = [, a36, a32, a26, a40, a295, a41, a49, , , , a16, a09, a68, a11, a99]
它切断了我想要的数组中的最后一个 " " 元素。修改我的代码并手动添加最后一个元素后:
String[] bArray = b.split("/|,");
bArray = Arrays.copyOf(bArray, bArray.length + 1);
bArray[bArray.length - 1] = "";
这给了我正确的结果,但这个解决方案效率低下。有谁知道如何更干净地做到这一点?
【问题讨论】:
-
您提供的功能代码似乎并不是非常低效。也许提交到 codereview stackexchange 以获取有关如何改进的想法,而不是在这里。