日期:2014-05-20  浏览次数:20603 次

字符串数组当参数的问题
Java code

  public void f(String[] str) {}




上面定义的那个方个方法.我这么调用为什么不行?

f({"a"});

出错.非得先这样 String[] str = {"a"}; f(str); //为什么非得这样.

字符串这样调用就行假如:
public void m(String str) {}

m("a"); //OK不出错.不用非得 String str = "a"; m(str); 为什么??


------解决方案--------------------
{"a"} 不说别的,就这么写的话,你能看出这个是什么吗?类型不对 String[] str = {"a"}就是先定义下这个是数组,然后在传递就没有问题了
------解决方案--------------------
{"a"}这个参数不是字符串数组,你得先定义它
------解决方案--------------------
f(new String[]{"a"});这样应该就可以了
------解决方案--------------------
{"a"}这个是什么类型?如果你的传入参数的类型是Object是可以的

楼主去看看java的基本类型 基础很重要