(SimpleSearchsoegklienter = sql forespørgsel i min database)
SimpleSearchsoegklienter soeg = new SimpleSearchsoegklienter();
returDatabase = soeg.search(forspl); } Mit problem er følgende at jeg får returneret et array i returDatabase, MEN hvordan får jeg fat i dette array (udenfor metoden)har prøvet at skrive returDatabase = returDatabase + soeg.search(forspl); men det virker ikke.
Hvis jeg i en metode f.eks returnerer arrayet returDatabase returnerer jeg kun null værdier og der er jo meningen jeg skal returnere mine værdier fra SQL forespørgslen
lbhansen har ret, man kan da sagtens tildele et array et andet array, bare de er af samme type, eller på en eller anden måde er i \"familie\" med hinanden gennem arv. Java arbejder jo udelukkende med pointere, ikke som C hvor der er en der har objektet og så nogle pointere til det.
Derfor kan jeg ikke helt forstå hvad problemet er her!?
Husk at arrays er objekter, hvis et array sættes lig med et andet (eller returneres eller overføres som parameter) vil de to arrays dele reference. Ændres i det ene ændres også i det andet.
Ok jeg prøver lige af formulere mit spørgsmål noget bedre. I min metode får jeg returneret et array, indeholdende oplysninger(returDatabase) hvilket er OK men længere nede i min kode har jeg følgende metode:
public String[] getDatabase() { return returDatabase; //returnerer null ??????? }
Fra et andet program/class kalder jeg metoden getDatabase og det er her problemet opstår idet jeg kun får returneret null værdier. Jeg returnerer åbentbart kun et \"tomt\" array. Jeg får ikke returneret de værdier jeg har hentet via min metode addKnapper()
Håber mit spørgsmål er blevet lidt mere forståeligt
Dat00z22 du har forstået spørgsmålet korrekt, jeg har lige netop gjort som du skriver, jeg kalder bare mit array for returDatabase. Til info så har jeg lavet en system.out.println i metoden addknapper()og JA jeg får værdier retur fra min SQL forespørgsel, så det er IKKE der problemet ligger. problemnt er at får overført mine værdier ud over min metode så andre programmer kan bruge disse værdier.
Dat00z22 hvis jeg ikke helt tager fejl så går vi i klassen sammen Dat00z23(Thomas W). Som du nok ved så skal jeg bare have mit program til at virke til imorgen. Jeg mangler bare lige at få styr på mit returnerede array så er jeg færdig.
så prøv at gøre den public det er måske en fedtmule løsning, men så burde du kunne bruge indholdet af arrayet i andre filer ved at hente arrayet fra denne fil
Class DetteProg public String[]returDatabase = new String[4];// her er der et privat array, som befinder sig i klassen
Class AndetProgram { bla bla bla String[] etArray = DetteProg.returDatabase; }
den mere rigtige metode er nok at holde arryet privat også lave en \"getDataMetode\" som fx:
Class DetteProg private String[]returDatabase = new String[4]; public String[] getReturDatabase() { return returDatabase; }
Class AndetProgram { bla bla bla DetteProg data = new DetteProg(); String.etArray = data.getReturDatabase() }
prøv om det virker, jeg har ikke afprøvet det selv! :-)
Kunne det måske være at fordi et array altid er passed by reference, så vil du blot returnere en pointer til et private array, når du siger return returDatabase?
løsningen dat00z22 fremlagde virkede. Og ja det er lidt af en fedtmule metode. Den rigtige måde er jo at lave en getmetode() :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.