2

这段代码有问题,返回类型有错误。

    public static []double convertLatLong(String lat, String lng) {
        ........
     double latitude=....;
     double longitude=....;

     return (new []double{latitude,longitude});
     }

但它适用于...

public static double[] convertLatLong(String lat, String lng) {
        ........
     double latitude=....;
     double longitude=....;

     return (new double[]{latitude,longitude});
     }

那么,它们之间有什么区别呢?虽然 java 支持声明data_type [] var_name以及data_type var_name [].

4

4 回答 4

3

(在编辑之前引用问题......)

而 java 支持声明 data_type [] 以及 [] data_type。

不,它没有。在某些情况下,它确实支持(可怕地)是[] 后者。例如,这两个都是有效但讨厌的 IMO:

double foo[]; // Ugly

// Completely insane
public double theGogglesTheyDoNothing()[] {
    return new double[10];
}

我从未见过后者在实际代码中使用过——这太可怕了。第一个偶尔会出现,但强烈建议不要这样做。

但据我所知,[]double永远不会有效。

首选形式是将方括号直接放在类型名称之后,因此您的代码将是:

public static double[] convertLatLong(String lat, String lng) {
    double latitude=....;
    double longitude=....;

    return new double[] { latitude, longitude };
}
于 2012-07-28T11:53:20.600 回答
2

采用:

public static double[] convertLatLong(String lat, String lng) {
    double latitude = ...
    double longitude = ...;

    return new double[] { latitude, longitude };
}
于 2012-07-28T11:36:12.837 回答
2

你问:“那么,它们之间有什么区别?虽然 java 支持声明 data_type [] var_name 以及 data_type var_name []。”

仔细比较:

public static []double convertLatLong(String lat, String lng) // 错误

public static double[] convertLatLong(String lat, String lng) // 正确

作为

[]data_type var_name // 错误

data_type[] var_name // 正确

尽管

data_type var_name[] // 也有效

与任何一个函数声明都没有共同点(egads @ Jon)

这有帮助吗?

于 2012-07-28T12:47:29.253 回答
0

该方法的签名应该是这样的:

public static double[] convertLatLong(String lat, String lng)

或像这样:

public static double convertLatLong(String lat, String lng)[]

另外,return 语句应该是这样的:

return new double[]{latitude, longitude};
于 2012-07-28T11:37:10.977 回答