JDK5新特性之 可变参数的方法

可变参数的方法:不知道这个方法该定义多少个参数

注意:

》 参数实际上是数组
》 必须写在参数列表最后一个

package cn.itcast.day24.varparam;

import java.lang.reflect.Type;

/**
 *
 * JDK5新特性之 可变参数
 *         定义方法时,不知道该定义多少个参数
 *
 * 格式:
 *         修饰符 方法返回值 方法名(数据类型 ... 变量名){}
 *
 * 注意:
 *         可变参数实际上是一个数组
 *         可变参数必须写在方法的参数列表的最后
 *
 */
public class VarParam {

    public static void main(String[] args) {
        int a=1;
        int b=2;

        System.out.println("result:"+sum(a,b));
        System.out.println("result:"+sum(a,b,3));
        System.out.println("result:"+sum(a,b,3,3.12).floatValue());

        /**
         * result:3.0
         * result:6.0
         * result:9.12
         */

    }

    //求未知个数的总和
    public static Number sum(Number... a){
        Integer  sumI=0;
        Float  sumF=0f;
        Double  sumD=0D;
        for(int i=0;i<a.length;i++){
            if(a[i].getClass()==Integer.class||a[i].getClass()==Integer.TYPE){
                sumI+=(Integer)a[i];
            }else if(a[i].getClass()==Float.class||a[i].getClass()==Float.TYPE){
                sumF+=(Float)a[i];
            }else if(a[i].getClass()==Double.class||a[i].getClass()==Double.TYPE){
                sumD+=(Double)a[i];
            }
        }
        return sumI+sumF+sumD;
    }

}

时间: 2024-10-14 12:31:39

JDK5新特性之 可变参数的方法的相关文章

JDK5 新特性之 可变参数的方法(2)---asList

> Arrays.asList(T - a)方法的使用 >UnsupportedOperationException分析     Arrays.asList(T - a)方法的使用 package cn.itcast.day24.varparam; import java.util.Arrays; import java.util.List; /** * * public static <T> List<T> asList(T... a):把数组转为集合 * * 注意:

jdk1.5新特性之-------&gt;可变参数

/* jdk1.5新特性之------->可变参数 需求: 定义一个函数做加法功能(函数做几个数据 的加法功能是不确定). 可变参数的格式: 数据类型... 变量名 可变参数要 注意的细节: 1. 如果一个函数 的形参使用上了可变参数之后,那么调用该方法的时候可以传递参数也可以不传递参数. 2. 可变参数实际上是一个数组对象. 3. 可变参数必须位于形参中的最后一个参数. 4. 一个函数最多只能有一个可变 参数,因为可变参数要位于形参中最后一个位置上. */ public class Demo4

java新特性之可变参数

public class NewDemo01 {     public static void main(String[] args) {         System.out.print("No args(fun()):");         fun();         System.out.print("\n one args(fun()):");         fun(1);         System.out.print("\n five a

C++11新特性之五——可变参数模板

有些时候,我们定义一个函数,可能这个函数需要支持可变长参数,也就是说调用者可以传入任意个数的参数.比如C函数printf(). 我们可以这么调用. printf("name: %s, number: %d", "Obama", 1); 那么这个函数是怎么实现的呢?其实C语言支持可变长参数的. 我们举个例子, double Sum(int count, ...) { va_list ap; double sum = 0; va_start(ap, count); fo

JDK5的新特性之可变参数&amp;Arrays.asList()方法

[代码] 1 package com.hxl; 2 3 import java.util.Arrays; 4 import java.util.List; 5 6 public class Test { 7 8 public static void main(String[] args) { 9 // 定义一个数组 10 String[] ss = { "Hello", "World", "Java", "Android",

JDK5新特性--可变参数

1.可变参数的引入 package cn; /**  * 可变参数  */ public class ChangeParameterDemo { public static void main(String[] args) { //2个数求和 int a = 10; int b = 20; int result = sum(a,b); System.out.println("result:"+result); int c = 30; result = sum(a,b,c); Syste

Java API —— JDK5新特性

JDK5新特性 自动拆装箱.泛型.增强for.静态导入.可变参数.枚举   1.增强for概述 1)简化数组和Collection集合的遍历 2)格式: for(元素数据类型 变量 : 数组或者Collection集合) { 使用变量即可,该变量就是元素 } 3)好处:简化遍历 4)注意事项:增强for的目标要判断是否为null 例子1: package jdk5; import java.util.ArrayList; import java.util.List; /** * Created

JavaSE 可变参数的方法重载

1 /** 2 * 可变参数的方法重载 3 */ 4 class A { 5 public void test(int a, int b) { 6 System.out.println(a+", "+b); 7 } 8 9 public void test(int...params) { 10 for(int i=0; i<params.length; i++) { 11 if(i!=0) { 12 System.out.print(", "); 13 } 1

java 基础加强(myeclipse,debug,junit,JDK5新特性,反射)

思维导图 1.myeclipse的安装和使用 *eclipse:是一个免费的开发工具 *myeclipse:是一个收费的插件,破解myeclipse, **安装目录的要求: 不能有中文和空格 **安装完成之后,选择一个工作空间 ,这个工作空间不能有中文和空格 *破解myeclipse **运行run.bat文件,但是运行之前,必须要安装jdk,通过配置环境变量 *myeclipse的使用 *创建一个工程 -类型 javaproject  web  project -选择依赖的jdk,可以使用my