可变参数

JDK中具有可变参数的类Arrays.asList()方法。

分别传多个参、传数组,传数组又传参的情况。

注意:传入基本数据类型数组的问题。

从JDK 5开始, Java 允许为方法定义长度可变的参数。

语法:数据类型…变量名。

可变长参数是Object[] 数组。(可变参数里存的是对象数组)

JDK中的典型应用:

Arrays.asList(T…a)是jdk中的典型应用。

需求:对若干个整数进行求和

public static int sum1(int a,intb ) {return a+b;

}

若干个整数求和如何解决?

可以使用数组接收整数。

public static int sum1(int[] numbers) {if (numbers == null) {return 0;

}if (numbers.length == 0) {return 0;

}int sum = 0;for (intnum : numbers) {

sum+=num;

}returnsum;

}

可以使用可变参数

public static int sum2(int... numbers) {if (numbers == null) {

System.out.println("可变参数的值为null");return 0;

}if (numbers.length == 0) {

System.out.println("可变参数的值的长度为0");return 0;

}int sum = 0;for (intnum : numbers) {

sum+=num;

}returnsum;

}

可变参数的使用

public static voidmain(String[] args) {//int result = sum1(new int[] { 1, 3, 5, 7, 9 });//System.out.println(result);// //使用了可变参数,传一个数组进去//int result = sum2(new int[] { 1, 3, 5, 7, 9 });//System.out.println(result);//使用了可变参数,不必声明数组,简化书写//int result = sum2(2, 4, 6, 8, 10);//int result = sum2(1);

int result =sum2();

System.out.println(result);

}

可变参数的细节

声明:

在一个方法中,最多只能有一个可变参数。

可变参数只能放在参数列表的最后面。

调用:

当使用可变参数时,可以传0或多个参数。

当使用可变参数时,也可以传一个数组进去,就表示多个参数。

使用:

在方法内部使用时,就是在使用一个数组。

当调用时没有传参数时(传了0个),这时在方法内部的参数数组是有值的(不为null),但长度为0.

java 可变参数_90.Java可变参数相关推荐

  1. Kotlin传递可变长参数给Java可变参数方法

    定义Java可变参数方法 package com.tcl.john.studymvvm.utils;/*** 调用Java方法的工具类* Created by ZhangJun on 2017/10/ ...

  2. Java总结(14) 静态导入 可变长参数

    静态导入概述: import语句可以导入一个类或某个包中的所有类 import static语句导入一个类中的某个静态方法或所有静态方法 举例: import static java.lang.Mat ...

  3. java unlimited_具有无限参数的Java方法(Java method with unlimited arguments)

    具有无限参数的Java方法(Java method with unlimited arguments) Spring框架使用方法,您可以根据需要传递尽可能多的参数. 我想写一个函数,也可以采取无限量的 ...

  4. Java语法糖1:可变长度参数以及foreach循环原理

    语法糖 接下来几篇文章要开启一个Java语法糖系列,所以首先讲讲什么是语法糖.语法糖是一种几乎每种语言或多或少都提供过的一些方便程序员开发代码的语法,它只是编译器实现的一些小把戏罢了,编译期间以特定的 ...

  5. 对象作为参数示例java_功能Java示例 第6部分–用作参数

    对象作为参数示例java 这是称为" Functional Java by Example"的系列文章的第6部分. 我在本系列的每个部分中开发的示例是某种"提要处理程序& ...

  6. java 11:数组作为函数参数,数组做为函数返回值

    1 数组作为参数 我们可以将数组作为参数,传入到函数中,其实就像我们main函数中 public void main(String [] args){};就是用数组作为函数参数: 又如, [java] ...

  7. java 三个点_Java,参数中的3个点

    是瓦拉格斯 :) varargs是可变长度参数的缩写,它允许方法接受可变数量的参数(0或更多).使用varargs,创建需要使用可变数量参数的方法变得非常简单.在Java 5中添加了变量参数的特性. ...

  8. Java参数变量_Java变量参数

    Java1.5添加新功能:可变参数:它适用于参数不确定性的数量,判断形势的类型.java变量参数数组操作. 特点: 1.今天的参数列表只能持续. 2.省略号(...)位于变量类型和变量名之间,前后有无 ...

  9. python 默认参数后接可变参数_Python可变参数会自动填充前面的默认同名参数实例...

    Python可变参数会自动填充前面的默认同名参数实例 最近在学习Python的时候遇到一个知识点,在此记录下来 可变参数会自动填充前面的同名默认参数 比如下面这个函数 def add_student( ...

最新文章

  1. HighNewTech:2019.08.08华为发布—面向2025十大趋势
  2. 【科普】国内外高质量数据科学竞赛平台有哪些?
  3. 【Java】什么是CAS、synchronized升级概述、偏向锁/轻量级锁详解 - 笔记
  4. 工业以太网交换机选机攻略
  5. pytorch得到中间层输出
  6. 【Flink】Flink报错 Could not forward element to next operator
  7. java array 元素的位置_介绍java中的两种排序工具Arrays和Collections
  8. [LeetCode]Patching Array
  9. 顶级黑客整理的588本编程电子书,整整46个G,你想学的都有
  10. windows进程 windows多进程编程
  11. 机械工程c语言第一学期考试题,科学出版社机械工程图学习题集1~10章答案.ppt
  12. win10 html css,纯 HTML/CSS 高仿 Win10 加载动画
  13. Transition组件
  14. python 回溯法 01背包问题_01背包问题(回溯法)python实现
  15. hp 服务器硬盘背板 供电线,100元淘了一个HP 6位硬盘笼+背板+线,准备用旧机改一个DSM。...
  16. excel表格中单元格里面有个斜杠怎么写字?
  17. maven 中央仓库网址
  18. 你想要成为团队里什么样的角色呢?
  19. 58同城如何摸石头过河?
  20. 麒麟KY-RTI分布仿真技术:前言

热门文章

  1. 带你全面的了解二叉树
  2. 云小课 | MRS基础入门之HDFS组件介绍
  3. 无惧海量并发,运维准点下班全靠它
  4. ul 响应式 布局_HTML5中响应式布局怎么弄??
  5. java的vector_Java中 Vector的使用详解
  6. SpringBoot与Redis缓存
  7. vrm华为_华为-笔记本电脑如何安装FusionCompute虚拟化平台?
  8. 学习TeXworks编辑器(一)自定义快捷键详解
  9. poj 1789 TruckHistory 最小生成树 Kruskal、Prim
  10. 用PaddlePaddle(飞桨)实现minist数据集的GAN生成