码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【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. }

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

  • 相关阅读:
    SQL比较两次的字段集合,找出并返回差异,主要用于更新记录事件
    中职网络安全竞赛之应用服务漏洞扫描与利用
    SQLite 中的日期和时间
    FFmpeg源码分析:AVFilterGraph与AVFilter
    Vue语法与标签的使用
    十一.镜头知识之RI(Relative Illumination)相对照度 与暗角
    从零开始写 Docker(十六)---容器网络实现(上):为容器插上”网线”
    【数据结构】线性表(十一)队列:双端队列及其基本操作(初始化、判空、判满、头部入队、尾部入队、头部出队、尾部出队、存取队首队尾元素)
    提升工作效率的一些网站、应用、插件和小技巧(二)
    x86处理器指令
  • 原文地址:https://blog.csdn.net/qq_57268251/article/details/134022197
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号