【发布时间】:2015-09-16 02:35:25
【问题描述】:
当我像这样在 Java 中编写构造函数时:
import java.io.IOException;
import java.io.OutputStream;
public class MultiOutputStream extends OutputStream{
OutputStream[] oStream;
public MultiOutputStream(OutputStream oStream) {
this.oStream = oStream;
// TODO Auto-generated constructor stub
}
@Override
public void write(int arg0) throws IOException {
// TODO Auto-generated method stub
}
}
Eclipse 现在显示:类型不匹配:无法从 OutputStream 转换为 OutputStream[]。所以 Eclipse 像这样更正了我的构造函数:
import java.io.IOException;
import java.io.OutputStream;
public class MultiOutputStream extends OutputStream{
OutputStream[] oStream;
public MultiOutputStream(OutputStream... oStream) {
this.oStream = oStream;
// TODO Auto-generated constructor stub
}
@Override
public void write(int arg0) throws IOException {
// TODO Auto-generated method stub
}
}
这些点代表什么?
提前致谢!
【问题讨论】:
-
目的是允许开发者传递 1, 2 , 3... args,而无需编写显式匹配的构造函数,也无需强制您接受
Collection。 -
你之前做过哪些研究?
-
至少这三个时期我不知道怎么google。
-
如果你不想使用可变参数,你可以像这样编写你的构造函数 - public MultiOutputStream(OutputStream[] oStream) {this.oStream = oStream;}跨度>