当前位置: 代码迷 >> Java相关 >> 怎么写一个任意长度输出的重载函数
  详细解决方案

怎么写一个任意长度输出的重载函数

热度:82   发布时间:2016-04-22 21:19:18.0
如何写一个任意长度输出的重载函数?
本帖最后由 elemusic 于 2014-03-07 14:34:22 编辑
我想写一个类似
System.out.println的函数,就是把名字缩短一下,
比如我直接打trace(参数1...参数n)就可以输出,我试着这样写但是报错
The method trace(double[]) is ambiguous for the type xxx

trace(3, 2, 1);
public void trace(double... msg) {
for(int i = 0; i < msg.length; ++i) {
System.out.print(msg[i]);
}
System.out.print("\n");
}
public void trace(float... msg) {
for(int i = 0; i < msg.length; ++i) {
System.out.print(msg[i]);
}
System.out.print("\n");
}
public void trace(int... msg) {
for(int i = 0; i < msg.length; ++i) {
System.out.print(msg[i]);
}
System.out.print("\n");
}

------解决方案--------------------
trace(3, 2, 1);
3,2,1定义不明确,可认为是整形或浮点型,加上后缀即可:
trace(3d, 2d, 1d);
trace(3f, 2f, 1f);
  相关解决方案