Java.util.Arrays.sort(numbers);
を使用すると、コードは機能します。何か問題がありますか?これは私には奇妙に思えます。
import Java.util.Arrays.*;
class Test {
public static void main(String[] args) {
double[] numbers = {6.0, 4.4, 1.9, 2.9, 3.4, 3.5};
char[] chars = {'a', 'A', '4', 'F', 'D', 'P'};
sort(numbers);
System.out.println(binarySearch(numbers, 3));
}
}
(端末にエラーが表示されます)
Test.Java:8: error: cannot find symbol
sort(numbers);
^
symbol: method sort(double[])
location: class Test
Test.Java:10: error: cannot find symbol
System.out.println(binarySearch(numbers, 3));
^
symbol: method binarySearch(double[],int)
location: class Test
2 errors
これは、クラスArraysの静的メソッドです。
次のように呼び出す必要があります。
_Arrays.sort(someArray);
_
次のようにArraysクラスをインポートする必要があることに注意してください。
_import Java.util.Arrays;
_
または、他の人が述べているように、静的インポートを行う場合は、クラス名を省略できます。
読みやすさにはArrays.sort()
の方が優れていると思います。
静的インポートを行う必要があります。以下を使用してください
import static Java.util.Arrays.*;
理由
一部の静的メンバー(メソッドまたは変数)をインポートする場合は、メンバーを静的にインポートする必要があります。したがって、import static
を使用する必要があります
別の解決策
またはインポートすることができます
import Java.util.Arrays;
と使用
Arrays.sort(b);
2番目の解決策の理由
ここでは静的要素をインポートしていないため、配列への通常のインポートが必要です。次に、Arrays.sort
を使用して直接アクセスできます
静的インポートを実行しようとしていますが、static
を見逃しました。
// add v this
import static Java.util.Arrays.*;