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_namedata_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

あなたは尋ねました:「それで、それらの違いは何ですか?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 に答える
2

使用する:

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

    return new double[] { latitude, longitude };
}
于 2012-07-28T11:36:12.837 に答える
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 に答える