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

注意:

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

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

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

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

    > Arrays.asList(T - a)方法的使用 >UnsupportedOperationException分析     Arrays.asList(T - a)方法的使用 pac ...

  2. JDK5新特性:可变参数方法

    JDK1.5增加可变参方法,其定义格式为: 访问修饰符 返回值类型 方法标识符(参数类型 参数标识符1,参数类型 参数标识符2,参数类型...参数标识符){} 如可能要定义一个求和功能的方法,但求和的 ...

  3. jdk1.5新特性之------->可变参数

    /* jdk1.5新特性之------->可变参数 需求: 定义一个函数做加法功能(函数做几个数据 的加法功能是不确定). 可变参数的格式: 数据类型... 变量名 可变参数要 注意的细节: 1 ...

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

    有些时候,我们定义一个函数,可能这个函数需要支持可变长参数,也就是说调用者可以传入任意个数的参数.比如C函数printf(). 我们可以这么调用. printf(); 那么这个函数是怎么实现的呢?其实 ...

  5. 集合框架-工具类-JDK5.0特性-函数可变参数

    1 package cn.itcast.p4.news.demo; 2 3 public class ParamterDemo { 4 5 public static void main(String ...

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

    [代码] package com.hxl; import java.util.Arrays; import java.util.List; public class Test { public sta ...

  7. java新特性之可变参数

    public class NewDemo01 {     public static void main(String[] args) {         System.out.print(" ...

  8. day27<反射&JDK5新特性>

    反射(类的加载概述和加载时机) 反射(类加载器的概述和分类) 反射(反射概述) 反射(Class.forName()读取配置文件举例) 反射(通过反射获取带参构造方法并使用) 反射(通过反射获取成员变 ...

  9. Java API —— JDK5新特性

    JDK5新特性         自动拆装箱.泛型.增强for.静态导入.可变参数.枚举   1.增强for概述         1)简化数组和Collection集合的遍历         2)格式: ...

随机推荐

  1. 边界扫描(boundary scan)

    边界扫描(Boundary scan )是一项测试技术,是在传统的在线测试不在适应大规模,高集成电路测试的情况下而提出的,就是在IC设计的过程中在IC的内部逻辑和每个器件引脚间放置移位寄存器(shif ...

  2. ArcGIS紧凑型切片读取与应用3-紧凑型批量转分散型(附源码)

    1.前言 上篇介绍了webgis动态加载解析紧凑型切片的例子,现在我们使用逆向思维实现紧凑型切片转分散型切片,在实际工作中很有用处,紧凑型切片易于拷贝,但读取只有部署到Arcgis Server才行. ...

  3. 136 Ugly Numbers(priority_queue+逆向求解要求数)

    题目链接: https://cn.vjudge.net/problem/UVA-136 /*问题 输出第1500个丑数,丑数的定义是不能被2,3,5以外的其他素数整除的数 解题思路 直接硬暴力先试一下 ...

  4. c++语言对c的扩充

    1.命名空间的使用 参见下列链接:http://www.cnblogs.com/uniqueliu/archive/2011/07/10/2102238.html 需要注意的地方:如果使用了命名空间s ...

  5. MVC的部分视图(Partial View)

    MVC的部分视图确实与asp.net的用户控件有几分相似,实际应用起来的方式,它又是那样不尽相同. 上次练习了<MVC母版页_Layout.cshtml>http://www.cnblog ...

  6. golang中的 time 常用操作

    时间戳 时间戳 (例如: 1554714009) time.now().Unix() 格式时间 (例如: 2019-04-08 17:00:09) time.Now().Format("20 ...

  7. Python发送短信提醒

    Python发送短信可借助腾讯云平台提供的短信服务 发送短信需要的及格参数: 1.SDK_AppID和SDK_Key 2.签名: 3.模板ID 下面贴出源码DEMO: from qcloudsms_p ...

  8. Java虚拟机--虚拟机字节码执行引擎

    Java虚拟机--虚拟机字节码执行引擎 所有的Java虚拟机的执行引擎都是一致的:输入的是字节码文件,处理过程是字节码解析的等效过程,输出的是执行结果. 运行时栈帧结构 用于支持虚拟机进行方法调用和方 ...

  9. git 问题解决办法

    1.撤销 add 添加:git rm -r --cached . (参考:https://www.cnblogs.com/wuchanming/p/5428897.html) 2.撤销 commit ...

  10. 两车追及或相遇问题(hdu1275)数学题

    两车追及或相遇问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...