How to concatenate string arrays in Java
我想知道如何在Java中连接4个字符串数组。
关于这一点已经有一个问题了。如何在Java中连接两个数组?
但我试图复制它,但它对我不起作用。
我的代码如下所示:
调用方法:
1 | concatAll(jobs1, jobs2, jobs3, jobs4); |
方法本身:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public String[] concatAll(String[] jobsA, String[] jobsB, String[] jobsC, String[] jobsD) { int totalLength = jobsA.length; for (String[] array : jobsD) { totalLength += array.length; } String[] result = Arrays.copyOf(jobsA, totalLength); int offset = jobsA.length; for (String[] array : jobsD) { System.arraycopy(array, 0, result, offset, array.length); offset += array.length; } return result; } |
号
抛开检查数组是否为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | public String[] concatAll(String[] jobsA, String[] jobsB, String[] jobsC, String[] jobsD) { return generalConcatAll (jobsA, jobsB, jobsC, jobsD); } public String[] generalConcatAll(String[]... jobs) { int len = 0; for (final String[] job : jobs) { len += job.length; } final String[] result = new String[len]; int currentPos = 0; for (final String[] job : jobs) { System.arraycopy(job, 0, result, currentPos, job.length); currentPos += job.length; } return result; } |
这有点简洁,并且使用ApacheCommonsLang库正确处理所有
1 2 3 4 5 6 7 8 9 10 11 |
号