今天在看 springboot 中 mail 源码的时候,发现这个有趣的写法,参数类型后面三个点

这个是Java从1.5版本开始的一种新的语法,叫可变长度参数列表,其语法就是类型后跟…,表示此处接受的参数为0到多个Object类型的对象,或者是一个Object[]。

我们写个测试类,如下

public class MyJava {public static void main(String[] args){myMethod("var1", "var2", "var3"); // 可以传入多个参数或一个数组myMethod("test1"); // 可以传入一个参数myMethod(); // 参数可以不传}public static void myMethod(String... myVar){for(int i=0; i<myVar.length; i++){System.out.println(myVar[i]);}}
}

使用可变长度参数列表时,

  1. 参数可以不传
  2. 可以传入单一的参数
  3. 可以传入多个参数
  4. 可以直接传入一个数组

Java 参数类型后面三个点,可变参数列表相关推荐

  1. java 可变参数方法不支持多个可变参数以及多种类型的替代方法

    记录了 java 可变参数方法不支持多个可变参数以及多种类型的替代方法. java 可变参数方法的实现 关于 java 可变参数方法的实现,阅读了一下两篇博客: java中可变参数方法:http:// ...

  2. JAVA基础-U7 面向对象编程(基础部分)-可变参数

    可变参数 基本概念 java允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法 本质上是将其当成数组对待 基本语法 访问修饰符 返回类型 方法名(数据类型... 形参名){} 快速入门 ...

  3. 编写可变参数函数 c语言,C语言可变参数函数的编写

    1. 引言 C语言我们接触的第一个库函数是 printf("hello,world!");其参数个数为1个. 然后,我们会接触到诸如: printf("a=%d,b=%s ...

  4. 第三次学JAVA再学不好就吃翔(part86)--可变参数

    学习笔记,仅供参考,有错必纠 可变参数 可变参数的概述 当我们在定义一个方法,却不知道该定义多少个参数时,可以使用可变参数. 格式 修饰符 返回值类型 方法名(数据类型...变量名){} 可变参数其实 ...

  5. java 中类型后面三个点的用法

    今天工作中看到了( Map... optional ) ,以前没有见过,感觉奇怪,百度了下,原来是可变参数列表 public class Test{public static void GetStr( ...

  6. java接口参数类型为枚举_Spring MVC处理参数中的枚举类型通用实现方法

    前言 在开发的过程中,会涉及到大量的枚举类型数据,我们都知道,Springmvc本身能自动转换很多的数据类型,也支持你自定义转换类型,非常灵活. 本文主要介绍的是关于Spring MVC处理参数的枚举 ...

  7. python中关键字参数的特点_Python中的*可变参数与**关键字参数

    1.定义了一个需要两个参数的函数 def print_str(first, second): print first print second if __name__ == "__main_ ...

  8. python函数支持哪些参数类型_Python函数的几种参数类型

    以下代码均以Python3为基础理解. 初识Python函数 大部分常见的语言如C.Java.PHP.C#.JavaScript等属于C系语言,Python不属于他们中的一员(ruby亦然).在这些语 ...

  9. python函数中可变参数的传递方式是_Python函数可变参数定义及其参数传递方式实例详解...

    本文实例讲述了Python函数可变参数定义及其参数传递方式.分享给大家供大家参考.具体分析如下: python中 函数不定参数的定义形式如下: 1.func(*args) 传入的参数为以元组形式存在a ...

  10. c# 调用oracle存储过程(参数类型不对)排坑之BindByName参数

    介绍:Oracle.ManagedDataAccess.dll c# ado调用oracle存储过程报错(参数类型不对.顺序不对等等问题),只需要加上BindByName=true即可,使用微软自带的 ...

最新文章

  1. Xamarin.FormsShell基础教程(6)Shell项目内容详情页面
  2. mysql decode语句_mysql数据灾难恢复方案
  3. js regex var highlight
  4. android备忘录教学_android基础备忘录(一)
  5. scala web框架:play framework框架
  6. 用java写个简单的直播强求_全网最简单易懂的Netty入门示例,再不会用Netty我直播吃翔...
  7. php 随机颜色,php生成随机颜色的代码实例
  8. python 示例_带有示例的Python列表copy()方法
  9. Bailian2705 跳绳游戏【序列处理】
  10. django模型篇:一对一、一对多、多对多,添加,批量插入和查询操作
  11. 22. Declare data members private
  12. 异数OS 开放式闭源继承人协议
  13. 【Excel】某列数据有效性根据另外一列数据有效性进行动态更改
  14. 小班安全使用计算机教案,安全用电器幼儿园小班安全教案
  15. nginx基础:nginx访问限制
  16. Android前端判断敏感词汇
  17. RINEX 3.02 版本导航文件格式说明
  18. 北风:关于搜索引擎、关键词、流量的一些思考
  19. 小程序突然报module is not defined_蔬菜“英文”小故事(九)
  20. 实时动态(RTK)定位技术介绍

热门文章

  1. Atitit 人工智能声音处理乐器总类以及midi规范的标示 目录 1. Atitit 乐器分类 打击乐器 1 1.1. 1.1. 打击乐器(各种鼓 三角铁等 1 2 1.2. 1.2. 管乐器
  2. linux 控制音量大小,linux 控制音量大小
  3. 软件项目管理经验点滴总结
  4. LabelMe安装报错解决方案
  5. vue百度地图加载离线瓦片(包含百度离线文件+瓦片下载器)
  6. iphone开发每日一练【2011-10-04】
  7. NOD32杀毒软件如何更新及用户名列表
  8. Android 10.0 PackageManagerService(四)APK安装流程-[Android取经之路]
  9. PackageInstaller 5.0源码分析静默安装与静默卸载
  10. my ReadBook_liutongjingjixue / circulation economics