-1
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)
}

无法更改方法参数

method(Object o){
//...
//how to split it to file and String here 
}

对于任何不清楚的事情请询问

4

2 回答 2

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

根据更多细节,使用我的示例中的嵌套类,或将其放入自己的文件中。如果你把它放在你实例化它的地方附近,那么你可以像我一样将构造函数设为私有或包私有。但这些只是更精细的细节。

于 2012-11-22T22:00:05.563 回答
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];
}
于 2012-11-22T21:57:46.187 回答