• 【Java】可变参数


    1. 可变参数(又称 个数可变),用作方法的形参出现,那么方法参数个数就是可变的了。
    2. 书写个数:
      1. 格式:修饰符 返回值类型 方法名(数据类型... 量名){}
      2. 范例:pubic static int sum(int... a){}
    3. 可变参数 注意事项:
      1. 这里的 可变参数变量 其实是一个数组
      2. 如果一个方法 有多个参数,包含可变参数,可变参数要放在最后

     示例代码:

    1. package com.collection.Demo06;
    2. /**
    3. * 可变参数
    4. */
    5. public class Test04 {
    6. public static void main(String[] args) {
    7. int sum1 = sum(1);
    8. System.out.println("sum:" + sum1);//sum:1
    9. int sum2 = sum(2, 2);// arr[0]=1 arr[1]=1
    10. System.out.println("sum:" + sum2);//sum:2
    11. int sum3 = sum(3, 3, 3);
    12. System.out.println("sum:" + sum3);//sum:9
    13. }
    14. /**
    15. * int... a 可变参数 底层基于 数组实现
    16. * 传递的可变列表——可变 底层封装成 数组的形式传递给我们的的方法
    17. */
    18. public static int sum(int... a) {
    19. // public static int sum(int... a,int c) { //错
    20. // public static int sum(int c, int... a) {//如果一个方法 有多个参数,包含可变参数,可变参数要放在最后
    21. int sum = 0;
    22. for (int i = 0; i < a.length; i++) {
    23. sum += a[i];
    24. // System.out.println(a[i]);
    25. }
    26. // System.out.println("================");
    27. return sum;
    28. }
    29. // public static int sum(int a, int b) {
    30. // return a + b;
    31. // }
    32. //
    33. // public static int sum(int a, int b, int c) {
    34. // return a + b + c;
    35. // }
    36. //
    37. // public static int sum(int a, int b, int c, int d) {
    38. // return a + b + c + d;
    39. // }
    40. }

    可变参数的使用

    1. package com.collection.Demo06;
    2. import java.util.Arrays;
    3. import java.util.List;
    4. public class Test05 {
    5. public static void main(String[] args) {
    6. /**
    7. * 使用Arrays.asList定义好的 元素个数 是不能够发生变化的(可以修改)
    8. */
    9. List strings = Arrays.asList("mayikt", "meite", "xiaojun");
    10. System.out.println(strings);//[mayikt, meite, xiaojun]
    11. //如果使用Arrays.asList() 创建的 集合 不能添加和删除
    12. // strings.add("666");//运行报错,UnsupportedOperationException
    13. // strings.remove(0);//运行报错,UnsupportedOperationException
    14. strings.set(0, "Hello");
    15. System.out.println(strings);//[Hello, meite, xiaojun]
    16. }
    17. /**
    18. * @SafeVarargs
    19. * @SuppressWarnings("varargs")
    20. * public static List asList(T... a) {
    21. * return new ArrayList<>(a);
    22. * }
    23. * asList 传入的参数,可变参数,泛型 T
    24. */
    25. }

    下一篇文章:泛型擦除机制

  • 相关阅读:
    深入注册表监控
    阿里云ASK试用心得(避坑贴)
    【web开发网页制作】html+css家乡长沙旅游网页制作(4页面附源码)
    CMMI的五个级别
    网络安全--初识
    从NLP视角看电视剧《狂飙》,会有什么发现?
    Flink 流程处理和批处理开发
    SpringBoot 25 整合 redis
    Python操作MySQL库结(MySQL详细下载、安装、操控及第三方库中的使用)
    Dhtmlx KanBan 付费版使用
  • 原文地址:https://blog.csdn.net/qq_57268251/article/details/134022197