java可变参数
2016-06-21 22:21
337 查看
1、嘛玩意?可变参数?您还别说,java里面必须的有,看下面的例子。
输出结果:
2、看完例子,看疗效?
String... strs, 这就是可变参数。 可以不传参数调用sayMes方法,也可以传一个,或者传多个参数调用
3、可变参数的底层实际上就是数组对象,但是如果改成String[] strs,就没有可变参数灵活了,你调用该方法时,就必须传入一个String[]对象。想实现例子1的效果,就得费劲了!!
输出结果:
4、总结
a、可变参数的底层是数组对象,很多事情,编译器给你干了
b、语法就是 类型... 空格 变量名
c、可变参数必须位于方法参数的最后一个哦
e、凡是参数是可变参数的,可以直接传数组对象
public class SayHello { public void sayMes(String... strs){ for(String temp: strs) { System.out.print(temp + " "); } System.out.println("说完了"); } public static void main(String args[]) { SayHello sHello = new SayHello(); sHello.sayMes(); //无参调用 sHello.sayMes("hello"); //一个参数 sHello.sayMes("wang", "yuan", "wai");//多个参数 } }
输出结果:
说完了 hello 说完了 wang yuan wai 说完了
2、看完例子,看疗效?
String... strs, 这就是可变参数。 可以不传参数调用sayMes方法,也可以传一个,或者传多个参数调用
3、可变参数的底层实际上就是数组对象,但是如果改成String[] strs,就没有可变参数灵活了,你调用该方法时,就必须传入一个String[]对象。想实现例子1的效果,就得费劲了!!
public class SayHello { public void sayMes(String[] strs){ if(strs != null) { for(String temp: strs) { System.out.print(temp + " "); } } System.out.println("说完了"); } public static void main(String args[]) { SayHello sHello = new SayHello(); sHello.sayMes(null); sHello.sayMes(new String[]{"hello"}); sHello.sayMes(new String[]{"wang", "yuan", "wai"}); } }
输出结果:
说完了 hello 说完了 wang yuan wai 说完了
4、总结
a、可变参数的底层是数组对象,很多事情,编译器给你干了
b、语法就是 类型... 空格 变量名
c、可变参数必须位于方法参数的最后一个哦
e、凡是参数是可变参数的,可以直接传数组对象
相关文章推荐
- Struts2系列:(3)Action的访问路径和缺省后缀
- springmvc+mybatis批量上传文件
- Struts2常用标签总结
- MyEclipse和IntelliJ IDEA安装使用SVN
- Spring实例化的3种方式
- Java四种线程池的使用
- Eclipse NDK 开发之 HelloWorld
- java.lang.IllegalThreadStateException异常原因解析
- java学习之路---常用类
- Java 中基本类型和字符串之间的转换
- struts2框架 初始别
- java 成神之路 (四)
- 《疯狂JAVA讲义》——聊天系统(2)
- Java 设计模式之 简单工厂模式
- JavaIO(01)File类详解
- java泛型
- java 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
- Java 中基本类型和包装类之间的转换
- Spring Boot如何使用Spring Security进行安全控制
- Spring JDBC样例