java - 将字符串 append 到 native Java 数组

标签 java arrays string append native

是否有更优雅的方式(最好在 SDK 中)将现有的 N String 对象数组 append 到另​​一个 String 以便该数组现在有 N+1 String 对象?看看下面我是如何做到的。

import java.util.Arrays;

public class StringArrayAppend {

/**
 * @param args
 */
public static void main(String[] args) {
    String[] selectionArgs={"3","2"};
    //Is there a SDK method to Arrays.append(selectionArgs,"1");?


    int newSize=selectionArgs.length+1;
    int indexNewElem=selectionArgs.length;
    String[] selectionArgs2=new String[newSize];
    System.arraycopy(selectionArgs, 0, selectionArgs2, 0, selectionArgs.length);
    selectionArgs2[indexNewElem]="1";
    selectionArgs=selectionArgs2;
    selectionArgs2=null;

    System.out.println("selectionArgs="+Arrays.toString(selectionArgs));


}

最佳答案

如果您坚持使用 Java 数组,我不知道有什么优雅的方法可以将一个数组 append 到另​​一个数组上,除了像您所做的那样(创建另一个具有正确大小的数组,然后简单地将新元素添加到数组的末尾).

编辑:我找到了一个使用 Apache Commons Lang Library 的单行解决方案 ArrayUtils.addAll(T[], T...)

String[] both = ArrayUtils.addAll(first, second);

使用 ArrayList 怎么样? ArrayLists 是动态大小的,允许您简单地添加元素(使用 ArrayList.add(Object o))。

关于java - 将字符串 append 到 native Java 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27118850/

相关文章:

java - Google map api v3 - 多个标记、多个信息窗口、3 个图标

C - "char var[]"和 "char *var"之间的区别?

string - 将 sizeof() offsetof() 宏的结果嵌入到 const char 数组中?

java - 在java中四舍五入到小数点后2位?

java - 一个服务器套接字如何与多个客户端套接字通信

Java Web Start 在版本 7u25 之后不起作用

java - 如何从另一种方法打印数组中的特定点? #Java

javascript - 发生错误.split (“”).reverse()不是函数

python - 从两个 numpy 数组中删除匹配的元素

c# - 使用 C# 将空间转换为 "+"