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

简介: 可变参数的方法:不知道这个方法该定义多少个参数 注意: 》 参数实际上是数组 》 必须写在参数列表最后一个 package cn.itcast.day24.

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

注意:

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

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;
    }
    
    

}
开始做,坚持做,重复做
相关文章
|
8月前
|
Java 测试技术 调度
JDK21有没有什么稳定、简单又强势的特性?
这篇文章主要介绍了Java虚拟线程的发展及其在AJDK中的实现和优化。
JDK21有没有什么稳定、简单又强势的特性?
|
11月前
|
容器
jdk8新特性-详情查看文档
jdk8新特性-详情查看文档
176 7
|
Java
让星星⭐月亮告诉你,jdk1.8 Java函数式编程示例:Lambda函数/方法引用/4种内建函数式接口(功能性-/消费型/供给型/断言型)
本示例展示了Java中函数式接口的使用,包括自定义和内置的函数式接口。通过方法引用,实现对字符串操作如转换大写、数值转换等,并演示了Function、Consumer、Supplier及Predicate四种主要内置函数式接口的应用。
115 1
|
容器
jdk8新特性-详情查看文档
jdk8新特性-详情查看文档
144 3
|
存储 安全 Java
JDK1.8 新的特性
JDK1.8 新的特性
160 0
|
API
JDK8的stream有求和方法吗?
【8月更文挑战第20天】JDK8的stream有求和方法吗?
361 3
JDK序列化原理问题之Hessian框架不支持writeObject/readObject方法如何解决
JDK序列化原理问题之Hessian框架不支持writeObject/readObject方法如何解决
143 2
|
Oracle Java 关系型数据库
JDK8到JDK29版本升级的新特性问题之未来JDK的升级是否会成为必然趋势,如何理解
JDK8到JDK29版本升级的新特性问题之未来JDK的升级是否会成为必然趋势,如何理解
|
Oracle 安全 Java
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
|
编解码 安全 Java
jdk8新特性-接口和日期处理
jdk8新特性-接口和日期处理