让我们说我有一个处理返回并接受泛型类型的函数。该功能可能如下所示
openPanel.directoryURL = [NSURL fileURLWithPath:@"path"];
如果代码检测到t.toString()看起来像
,请说public T call(T t) {
Log.v(FILE_NAME, "t: " + t.toString());
return null;
}
有什么方法可以将t转换成一个我们可以轻松操纵它的内容的对象?通过操作,我的意思是我们可以很容易地,例如将label1,label2和label3值更改为其他值,并返回修改后的t。
以防万一,在上面的示例中,传递的参数t的类型为{label1=5148.000, label2=8363.000, label3=715.000}
。
更新
Map<String,String>
。Callable<T>
。答案 0 :(得分:1)
我完全确定你要求的是什么。如果您知道t
始终属于Map<String, String>
类型,则可以简单地投射它:
Map<String, String> myMap = (Map<String, String>) t;
答案 1 :(得分:1)
如果你需要让这个方法非常通用并且对一些众所周知的参数有一些特殊处理,你可以这样:
if (t instanceof Map) {
// do something here
}