callingmethod(){
File f=new File();
//...
String s= new String();
//...
method( f + s); // here is problem (most put f+s in object to send it to method)
}
无法改变方法args
method(Object o){
//...
//how to split it to file and String here
}
任何事情都不清楚问问plz
答案 0 :(得分:3)
最干净,最惯用的方法是创建一个简单的类来代表你的对:
static class FileString {
public final File f;
public final String s;
FileString(File f, String s) {
this.f = f; this.s = s;
}
}
然后写
method(new FileString(file, string));
内部方法:
FileString fs = (FileString)o;
// use fs.f and fs.s
根据更多细节,请使用我的示例中的嵌套类,或将其放入自己的文件中。如果你把它放在你实例化它的地方附近,那么你可以像我一样使构造函数成为私有或包私有。但这些只是更精细的细节。
答案 1 :(得分:1)
你可以,例如把它放在一个数组中:
method (new Object[] {f, s});
void method (Object o) {
final Object[] arr = (Object[]) o;
File f = (File) arr[0];
String s = (String) arr[1];
}