【问题标题】:Adding integers to an int array将整数添加到 int 数组
【发布时间】:2015-03-20 17:10:43
【问题描述】:

我正在尝试将整数添加到 int 数组中,但 Eclipse 说:

无法在数组类型 int[] 上调用 add(int)

这对我来说完全不合逻辑。我也试过addElement()addInt(),但是它们也不起作用。

public static void main(String[] args) {
    int[] num = new int[args.length];
    for (String s : args){
        int neki = Integer.parseInt(s);
        num.add(neki);

}

【问题讨论】:

标签: java arrays


【解决方案1】:

要将元素添加到数组中,您需要使用以下格式:

array[index] = element;

其中array 是您声明的数组,index 是要存储元素的位置,element 是您要存储在数组中的项目。

在您的代码中,您希望执行以下操作:

int[] num = new int[args.length];
for (int i = 0; i < args.length; i++) {
    int neki = Integer.parseInt(args[i]);
    num[i] = neki;
}

add() 方法适用于 Collections,例如 ListSet。如果您使用的是ArrayList(参见documentation),则可以使用它,例如:

List<Integer> num = new ArrayList<>();
for (String s : args) {
    int neki = Integer.parseInt(s);
    num.add(neki);
}

【讨论】:

  • 这对我有用,但是我确实必须修改我的 pom.xml 以接受额外的 maven 插件。具体来说,我添加了一段代码如下:org.apache.maven.pluginsmaven-compiler-plugin3.7。 01.81.8
【解决方案2】:

数组没有添加方法。使用num[i]=value; 为数组元素赋值。

public static void main(String[] args) {
    int[] num = new int[args.length];
    for (int i=0; i < num.length; i++){
      int neki = Integer.parseInt(args[i]);
      num[i]=neki;
    }
}

【讨论】:

    【解决方案3】:

    数组具有固定长度。你不能“添加”到它。您在开始时定义它将持续多长时间。

    int[] num = new int[5];
    

    这将创建一个包含 5 个“桶”的整数数组。每个桶包含 1 个整数。首先这些都是0

    num[0] = 1;
    num[1] = 2;
    

    上面的两行将数组的第一个和第二个值设置为12。现在你的数组看起来像这样:

    [1,2,0,0,0]
    

    正如您所看到的,您在其中设置了值,您没有将它们添加到末尾。

    如果您希望能够创建要添加的数字列表,则应使用 ArrayList。

    【讨论】:

      【解决方案4】:

      数组不同于ArrayLists,您可以在其上调用add。你首先需要一个索引。在for 循环之前声明i。然后,您可以使用数组访问表达式将元素分配给数组。

      num[i] = s;
      i++;
      

      【讨论】:

        【解决方案5】:

        您不能在 Java 中对数组使用 add 方法。

        要将东西添加到数组中,请这样做

        public static void main(String[] args) {
        int[] num = new int[args.length];
        for (int i = 0; i < args.length; i++){
            int neki = Integer.parseInt(s);
            num[i] = neki;
        
        }
        

        如果您真的想使用 add() 方法,请考虑改用 ArrayList&lt;Integer&gt;。这有几个优点 - 例如,它不限于在创建时设置的最大大小。您可以无限期地继续添加元素。但是它不如数组快,所以如果您真的想要性能,请坚持使用数组。它还要求您使用 Integer 对象而不是原始 int 类型,这可能会导致问题。

        数组列表示例

        public static void main(String[] args) {
            ArrayList<Integer> num = new ArrayList<Integer>();
            for (String s : args){
                Integer neki = new Integer(Integer.parseInt(s));
                num.add(s);
        }
        

        【讨论】:

          【解决方案6】:

          你有一个 int 数组,它是一个原始类型,原始类型没有方法 add。你应该寻找Collections

          【讨论】:

            【解决方案7】:

            org.apache.commons.lang.ArrayUtils 可以做到这一点

            num = (int []) ArrayUtils.add(num, 12);     // builds new array with 12 appended
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2012-12-21
              • 1970-01-01
              • 2010-11-25
              • 1970-01-01
              • 2023-01-31
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多