teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

明示的なimportが不要な場合の説明を修正

2021/06/26 14:44

投稿

Crimson_Tide
Crimson_Tide

スコア509

answer CHANGED
@@ -8,14 +8,23 @@
8
8
  「Arrays cannot be resolved」は直訳すれば「Arraysが解決できない」です
9
9
  これは「Arraysクラスの定義がみつからない」ということを意味しています。
10
10
 
11
- 学習して一週間だとimportについて知らないかもしれませんが、
11
+ //修正
12
- .javaファイル内のクラス、同パッケージクラス後述のjava.langパッケージのクラス以外は、importで指定するか、パッケージ名を付与しないとコンパイラが見つけられません。
12
+ 学習して週間だとimportについて知らないかもしれませんが、importで指定するか、パッケージ名を付与しないとコンパイラが見つけられません。
13
+ 但し、以下の場合は不要です。
14
+ ・.javaファイル内のクラス
15
+ ・同一パッケージクラス
16
+ ・(後述)java.langパッケージのクラス
17
+ ・java.ioパッケージのクラス
18
+ ・コンパイル時 classpathを指定した場合
19
+ ・CLASSPATH環境変数のパス
20
+ ・その他あるかも?
21
+ //修正終わり
13
22
 
14
23
  Arraysクラスはjava.utilというパッケージに所属していて、そのままでは見つけられない為エラーがでています。
15
24
 
16
25
  importで指定すると、.javaファイル内にArraysクラスの定義がなければ、Arraysクラスをそこから探してくれます。
17
26
 
18
- (既存クラスに被るクラスを定義すべきではないですが説明のためにしています)
27
+ (既存クラスに被るクラスを定義すべきではないですが説明のためにしています)
19
28
  例えば以下のようにArraysクラスを定義すれば、
20
29
 
21
30
  ```Java