package com.scheduler.process;
public class Process {
public enum state {
NOT_SUBMITTED, SUBMITTED, BLOCKED, READY, RUNNING, COMPLETED
}
private state currentState;
public state getCurrentState() {
return currentState;
}
public void setCurrentState(state currentState) {
this.currentState = currentState;
}
}
package com.scheduler.machine;
import com.scheduler.process.Process;
import com.scheduler.process.Process.state;
public class Machine {
com.scheduler.process.Process p = new com.scheduler.process.Process();
state s = state.READY; //fails if I don't also explicitly import Process.state
p.setCurrentState(s); //says I need a declarator id after 's'... this is wrong.
p.setCurrentState(state.READY);
}
例を修正して、問題を解決できるようにしました。このコードの状態を変更できません。Eclipse は、前の例で行ったインポートProcess.state likeを提案しますが、これも機能しません。これは可能state s = state.READYですが、への呼び出しはp.setCurrentState(s);失敗しますp.setCurrentState(state.READY);
問題は続きました....オレグの提案に従って、さらに順列を試しました:
package com.scheduler.machine;
import com.scheduler.process.Process;
import com.scheduler.process.Process.*;
public class Machine {
com.scheduler.process.Process p = new com.scheduler.process.Process();
public state s = Process.state.READY;
p.setCurrentState(s);
p.setCurrentState(state.READY);
}
わかった。私がロボトミーの候補であることは明らかです。
package com.scheduler.machine;
import com.scheduler.process.Process;
import com.scheduler.process.Process.state;
public class Machine {
public void doStuff(){
com.scheduler.process.Process p = new com.scheduler.process.Process();
state s = state.READY; //fails if I don't also explicitly import Process.state
p.setCurrentState(s); //says I need a declarator id after 's'... this is wrong.
p.setCurrentState(state.READY);
}
}
クラスにメソッドが必要でしたが、まだ何か (おそらく明白) が不足しています。プロセスをコンパイルした後、コマンドラインから Machine クラスで javac を実行すると、まだ次のエラーが発生します。
mseil@context:/media/MULTIMEDIA/Scratch/Scratch/src/com/scheduler/machine$ javac Machine.java
Machine.java:3: package com.scheduler.process does not exist
import com.scheduler.process.Process;
^
だから私は今、日食が舞台裏で私のためにやっているこれを手作業でコンパイルするのを妨げている、私が見逃しているばかげたことは何だと思いますか?
====== ここで解決された問題:
Java ジェネリック コードは Eclipse でコンパイルされますが、コマンド ラインではコンパイルされません
