Dans le cadre d'une affectation Im essayant d'accéder à une liste de tableaux clonés d'une autre classe pour que je puisse l'utiliser. Mais lorsque j'essaie de le faire, j'obtiens l'erreur suivante: "méthode non statique getConnections() ne peut pas être réfrénée à partir d'un contexte statique".Comment accéder à arrayList cloné non statique pour une utilisation dans une méthode statique en Java
Ceci est le code que j'utilise pour accéder au tableau cloné. C'est dans le contexte de l'élaboration de la meilleure façon de prendre des vols d'une destination à l'autre.
public boolean determineRoute(City from, City to, ArrayList<City> flightRoute)
{
ArrayList<City> Connections = new ArrayList<City>();
Connections = City.getConnections();
return true;
}
Et c'est ainsi que commence le code pour cette classe. Cela commence comme statique mais pour autant que je puisse voir cela ne devrait affecter que la première méthode comment puis-je dire à java que cette méthode ne devrait pas être considérée comme statique afin que je puisse accéder à la liste clonée de la classe non statique?
import java.util.*;
public class Lab9_Ex2_Main
{
//////// START-UP /////////
public static void main(String[] args)
{
new Lab9_Ex2_Main();
}
J'ai laissé une grande partie du code que je pense qu'il ne peut pas avoir raison de moi de mettre tout en place. Mais si vous avez besoin de plus pour obtenir une image plus claire, j'ajouterai volontiers plus de code.
Ceci est le code d'une autre classe qui contient un tableau cloné auquel j'essaie d'accéder. en fait
import java.util.*;
// Class: City
// Purpose: To represent a place in the world that you can fly from/to.
public class City
{
private String name; // The name of the City
private ArrayList<City> connectsWith; // Which cities are connected to this one
public City(String cityName)
{
name = cityName;
connectsWith = new ArrayList<City>();
}
// Method: addConnection
// Purpose: To note that you can catch a flight to the destination, from this city
// Passed:
// destination - The City which you can fly to.
public void addConnection(City destination)
{
if (destination != null && destination != this)
connectsWith.add(destination);
}
// Method: getConnections
// Purpose: To retrieve a list of cities you can reach from this one.
// Note: You are given a clone, (to avoid a privacy leak), and can manipulate it however
// you like. E.g. you could delete elements.
public ArrayList<City> getConnections()
{
return (ArrayList<City>) connectsWith.clone();
}
public String getName()
{
return name;
}
public String toString()
{
return name;
}
}
Si vous avez appris à formater votre question proprement le * texte * ne est pas venu comme * code * vous n'auriez pas besoin du charabia au milieu. S'il vous plaît apprendre à utiliser le système au lieu de se moquer de lui ... –
S'il vous plaît essayer et apprendre à formater vos messages sans ajouter "charabia" texte. :) - Edité pour vous. – Thomas
Désolé d'être ennuyeux. Comment est-ce que je formaterais le texte pour qu'il ne se présente pas comme du code? – Binyomin