可变参数重载的问题
来源:互联网 发布:中国互联网金融数据 编辑:程序博客网 时间:2024/06/05 15:31
1. 可变参数相当于传数组参数,参数为0相当于数组为空
2. 当可变参数方法重载的时候,如果实际传参为0个,编译将不通过(无法分辨调用的哪个方法)
package com.yjq.cn.initialize;/** * 可变参数 */public class VarArgsTest {static void fc(int i, String... str) {System.out.print("fc.args : [" + i + " ");for(String s : str) {System.out.print(s + " ");}System.out.println("]; args.length: " + str.length);}//重载1static void f(Integer... args) {System.out.print("first");for(Integer i : args) {System.out.print(" " + i);}System.out.println();}//重载2static void f(Character... args) {System.out.print("second");for(Character c : args) {System.out.print(" " + c);}System.out.println();}//重载3static void f(Long... args) {System.out.print("third");for(Long l : args) {System.out.print(" " + l);}System.out.println();}public static void main(String[] args) {fc(1, "one");fc(2, "two", "three");//可变参数个数可以传0个fc(0);System.out.println("--------------------");//重载的情况f('a', 'b', 'c');f(1);f(2, 1);f(0);f(0L);//f(); //此时编译报错 The method f(Integer[]) is ambiguous for the type VarArgsTest}}
//output
fc.args : [1 one ]; args.length: 1fc.args : [2 two three ]; args.length: 2fc.args : [0 ]; args.length: 0--------------------second a b cfirst 1first 2 1first 0third 0
- 可变参数重载的问题
- java中可变参数列表重载问题
- 可变参数的问题
- Java可变参数方法的重载实例
- 可变参数宏的展开,宏重载
- Java可变参数关于参数列表含可变参数的方法重载的注意点
- 可变参数、重写与重载
- Java可变参数方法重载时要注意的几个问题
- Java可变参数方法重载时要注意的几个问题
- Java可变参数(...)方法重载时要注意的几个问题
- Java可变参数方法重载时要注意的几个问题
- Java可变参数方法重载时要注意的几个问题
- Java可变参数类型与重写,重载的讨论
- Java可变参数讨论与重写,重载的相关讨论
- JAVA可变参数方法及它的重载
- Java可变参数方法重载时要注意的几个问题
- 可变参数列表需要注意的问题
- C语言可变参数的问题
- 2013 Changsha Regional 一样的木板一样的气球
- 2013-11-17
- css将div层固定显示在页面底部
- Unity3D教程:游戏开发算法(一)
- P2P之我见,关于打洞的学问-------开篇
- 可变参数重载的问题
- session基础了解以及主要session函数
- update
- C#中修改提示字体及颜色
- Unity3D教程:游戏开发算法(二)
- Oracle如何删除某个用户下的所有表
- DataReader与DataSet有什么区别? (转)
- u-boot lds文件详解
- unity3D教程 : 游戏算法开发(三)