1. int...(可变参数):

    • 可变参数(varargs)允许传递任意数量的参数,可以看作是一个灵活的方式来接受参数。

    • 语法上是 int...,但在方法内部,它被当作一个 int[] 数组处理。

    • 用法:当方法参数的数量未知时使用,例如:

      public void sum(int... numbers) {
          int total = 0;
          for (int num : numbers) {
              total += num;
          }
      }
      // 调用时可以传任意数量的参数:
      sum(1, 2, 3); // 或者
      sum(1); // 或者
      sum();  // 可以不传参数
    • 缺点:只在方法参数中使用,且必须是方法的最后一个参数。

  2. List<Integer>(泛型列表):

    • List<Integer> 是一个可以存储 Integer 对象的动态集合,提供了许多操作方法(如添加、删除、获取元素等)。

    • int[] 不同,List<Integer> 可以改变大小,元素可以被动态添加或删除。

    • 由于 Java 的泛型不支持基本数据类型(如 int),所以 List<int> 不合法,必须使用包装类型 Integer

    • 例子:

      List<Integer> list = new ArrayList<>(); 
      list.add(1); list.add(2);
      list.add(3);
  3. int[](数组):

    • int[] 是一个固定大小的数组,存储 int 类型的基本数据类型。

    • 一旦数组大小定义后,它不能动态增长或缩减。

    • 数组可以通过索引访问,初始化时所有元素默认为 0

    • 例子:

      int[] array = new int[3]; // 创建一个大小为3的数组 
      array[0] = 1; 
      array[1] = 2; 
      array[2] = 3;

总结:

  • int...: 可变参数,本质上是一个 int[],但允许传递可变数量的参数。

  • List<Integer>: 动态大小的集合,存储 Integer 对象,支持丰富的操作。

  • int[]: 固定大小的数组,存储基本数据类型 int,不能动态调整大小。