Connectionクラスを受け取るコレクションを返す必要がありますが、 "シンボルが見つかりません"というエラーが返され続けます。私はコレクションを返す方法についての理解が不足しています。ステーションのパラメータを取得します。ここ コレクションを返す
はメソッドです:@Override
public Collection<Connection> getConnectionsFrom(Station station) {
return Collection<Connection>(station);
}
そしてここでConnectionクラスである:それは実際にコレクションを返すことになっていた仮定を作る、
public class TrainConnection implements Connection {
double distance;
private Map<String, Connection> connectionMap;
public static TrainConnection newConnection = new TrainConnection();
@Override
public double getDistance() {
return distance;
}
@Override
public Station getStationA() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public Station getStationB() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public Station getOtherStation(Station station) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
さて、getConnectionsFromでのあなたの返事は間違っています。コレクションは特定の実装ではありません。コレクションを実装する特定のオブジェクトをインスタンス化し、そのコレクションにステーションを追加してから、それを返す必要があります。 – KevinO
'返品コレクション(駅);'このコードはどう思いますか? 'new'がないので、コンストラクタを呼び出すことはありません。もしあれば、Collectionはインタフェースなので、それを構築することはできません。インターフェイスを実装する具象クラス(ArrayListやHashSetなど)のインスタンスを作成することしかできません。 –
あなたのコードでは見えないもう一つのものは、 'Station'です。 'Collection'を返すように指定しますが、その代わりに 'Station'を使ってコレクションをインスタンス化しようとします。 –