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

}
开始做,坚持做,重复做
相关文章
|
1月前
|
容器
jdk8新特性-详情查看文档
jdk8新特性-详情查看文档
50 7
|
3月前
|
Java
让星星⭐月亮告诉你,jdk1.8 Java函数式编程示例:Lambda函数/方法引用/4种内建函数式接口(功能性-/消费型/供给型/断言型)
本示例展示了Java中函数式接口的使用,包括自定义和内置的函数式接口。通过方法引用,实现对字符串操作如转换大写、数值转换等,并演示了Function、Consumer、Supplier及Predicate四种主要内置函数式接口的应用。
33 1
|
4月前
|
容器
jdk8新特性-详情查看文档
jdk8新特性-详情查看文档
51 3
|
3月前
|
存储 安全 Java
JDK1.8 新的特性
JDK1.8 新的特性
33 0
|
4月前
|
编解码 安全 Java
jdk8新特性-接口和日期处理
jdk8新特性-接口和日期处理
|
5月前
|
API
JDK8的stream有求和方法吗?
【8月更文挑战第20天】JDK8的stream有求和方法吗?
161 3
|
5月前
|
Java
JDK序列化原理问题之Hessian框架不支持writeObject/readObject方法如何解决
JDK序列化原理问题之Hessian框架不支持writeObject/readObject方法如何解决
|
5月前
|
Oracle Java 关系型数据库
JDK8到JDK29版本升级的新特性问题之未来JDK的升级是否会成为必然趋势,如何理解
JDK8到JDK29版本升级的新特性问题之未来JDK的升级是否会成为必然趋势,如何理解
|
5月前
|
Oracle 安全 Java
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
|
4月前
|
Java 编译器 API
JDK8新特性--lambda表达式
JDK8的Lambda表达式是Java语言的一大进步。它为Java程序提供了更多的编程方式,让代码更加简洁,也让函数式编程的概念在Java中得到了体现。Lambda表达式与Java 8的其他新特性,如Stream API、新的日期时间API一起,极大地提高了Java编程的效率和乐趣。随着时间的流逝,Java开发者对这些特性的理解和应用将会越来越深入,进一步推动Java语言和应用程序的发展。
19 0