2011-07-20 338 views
0

假设以下情况。 我所说的方法这样将对象转换为String []对象..?

String[] arr = {"1","2","3"}; 
method(arr); 

和方法签名是

public void method(Object o) 
{ 
// how will i get back the String[] arr object now.. 
} 

回答

1

如果你正在写

public void method(Object o) { 
    String[] arr = (String[]) o; 
} 

,这意味着唯一有效的参数类型为String [],你是更好地使此清除与

public void method(String[] arr) { 

} 
3

铸造是这样的:

final String[] array = (String[]) o; 
1

只投了回去。

String[] o2 = (String[]) o; 
1
public void method(Object o) { 
    String[] arr = (String[]) o; 
} 

这里o是你通过String[]对象。只需将它投射到String[]。如果你打算每次传递一个数组,那么你的方法签名更改为:

public void method(Object[] o)