我有一个名为 RawReader 的类,它读取某些资源的字节,解析它们,然后将文件写入输出目录。
允许将不同的类型作为源和目标传递给构造函数是有意义的。
- Source: String (of file or URL), URL, File or InputStream
- 目的地:字符串(目录)或文件
但是,如果我重载构造函数,就会给我留下 8 个不同的版本。例如,如果我想添加第三个可选参数,chunkSize
我将有 16 个构造函数!
另一方面,我可以只有两个构造函数接受(Object, Object)
and (Object, Object, int)
。如果参数类型不正确,则可以检测到参数类型并引发 IllegalArgumentExceptions。
在 Java 中通常如何处理这种情况?