Java 集合框架——可变参数概述及使用

可变参数概述

 
  • 定义方法的时候不知道该定义多少个参数
 

格式

 
  • 修饰符 返回值类型 方法名(数据类型…  变量名){}
  • 注意:
这里的变量其实是一个数组
如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个
 
 

 代码演示如下:

package cn.wen_01;
			
public class ArgsDemo {
	public static void main(String[] args) {
		// 2个数据求和
		int a = 10;
		int b = 20;
		int result = sum(a, b);
		System.out.println("result:" + result); //30

		// 3个数据的求和
		int c = 30;
		result = sum(a, b, c);
		System.out.println("result:" + result); //60

		// 4个数据的求和
		int d = 30;
		result = sum(a, b, c, d);
		System.out.println("result:" + result); //90

		// 需求:我要写一个求和的功能,到底是几个数据求和呢,我不太清楚,但是我知道在调用的时候我肯定就知道了
		// 为了解决这个问题,Java就提供了一个东西:可变参数
		result = sum(a, b, c, d, 40);
		System.out.println("result:" + result); //0

		result = sum(a, b, c, d, 40, 50);
		System.out.println("result:" + result); //0
	}
	
         public static int sum(int a, int b, int c, int d) {
	     return a + b + c + d;
	 }
	
	 public static int sum(int a, int b, int c) {
	     return a + b + c;
	 }
	
	 public static int sum(int a, int b) {
	     return a + b;
	 }
}

 引入可变参数,代码测试如下:

package cn.wen_02;
				
public class ArgsDemo {
	public static void main(String[] args) {
		// 2个数据求和
		int a = 10;
		int b = 20;
		int result = sum(a, b);	
		System.out.println("result:" + result); //0

		// 3个数据的求和
		int c = 30;
		result = sum(a, b, c);
		System.out.println("result:" + result); //0

		// 4个数据的求和
		int d = 30;
		result = sum(a, b, c, d);
		System.out.println("result:" + result); //0

		// 需求:我要写一个求和的功能,到底是几个数据求和呢,我不太清楚,但是我知道在调用的时候我肯定就知道了
		// 为了解决这个问题,Java就提供了一个东西:可变参数
		result = sum(a, b, c, d, 40);
		System.out.println("result:" + result); //0

		result = sum(a, b, c, d, 40, 50);
		System.out.println("result:" + result); //0
	}

	public static int sum(int... a) {
		return 0; 
	}

	public static int sum(int a, int b, int c, int d) {
		return a + b + c + d;
	 }
	
	 public static int sum(int a, int b, int c) {
		return a + b + c;
	}
	
	 public static int sum(int a, int b) {
		return a + b;
	 }
}
 
 
 
发布了91 篇原创文章 · 获赞 16 · 访问量 1164

猜你喜欢

转载自blog.csdn.net/hewenqing1/article/details/104102960